我現在有這個問題,如果我將控制檯登錄元素本身,它會顯示在鉻中的長度,但它沒有正確顯示長度,當我使用.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',有什麼不對? –