我现在有这个问题,如果我将控制台登录元素本身,它会显示在铬中的长度,但它没有正确显示长度,当我使用.length。Javascript没有正确记录长度
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Hello World - Google Web Search API Sample</title>
<script src="https://www.google.com/jsapi"
type="text/javascript"></script>
<script language="Javascript" type="text/javascript">
\t
google.load('search', '1');
function OnLoad() {
\t
var searchControl = new google.search.SearchControl();
\t
var localSearch = new google.search.LocalSearch();
\t
searchControl.addSearcher(new google.search.WebSearch());
\t
localSearch.setCenterPoint("New York, NY");
\t
searchControl.draw(document.getElementById("searchcontrol"));
\t
searchControl.execute("a");
}
google.setOnLoadCallback(OnLoad);
</script>
</head>
<body onLoad="myFunction()">
<div id="searchcontrol">Loading</div>
<script>
function myFunction() {
\t var y = document.getElementsByClassName('gsc-webResult gsc-result');
\t
\t var y2 = y.length;
\t console.log(y);
\t console.log(y2);
}
</script>
</body>
</html>
如所看到的上述我节省在VAR y中的元素和保存y的长度Y2。然后我在控制台记录这些变量,但它没有显示正确的长度。
我不确定这里有什么问题,希望你能帮上忙。
编辑:添加了工作源代码。
您的代码段正在欺骗,因为没有任何项目将始终记录为0.请添加一些示例内容,以确定它是否实际记录了不正确的长度,因为我已经_never_看到Chrome做了类似不正确的日志记录长度的操作。 – somethinghere
我们需要看到一个工作片段..你可以创建一个小提琴吗?这些元素后来是否被任何机会填充? –
我在这里看到'1',有什么不对? –