1
該腳本在加載document
之前運行,爲什麼console.log(b)
顯示集合中的元素?爲什麼document.getElementsByName的長度爲0,儘管有元素?
如果console.log(b)
有元素,那麼爲什麼console.log(b[0])
顯示undefined
和console.log(b.length)
0
?
<html>
<head>
<script>
function test(){
var b = document.getElementsByName('a');
console.log(b);
console.log(b[0]);
console.log(b.length);
}
test();
</script>
</head>
<body>
<form id="a" name="a"></form>
</body>
</html>
因爲您的表單中沒有任何元素? – 2014-11-14 15:05:47
返回的集合是一個「活動列表」。它隨着項目添加到DOM中或從DOM中刪除而自動更新。因此,當您查看集合的控制檯視圖時,會顯示其當前狀態,而「b [0]」視圖會獲取您進行console.log()調用的狀態。 – 2014-11-14 15:06:11
您可以等待DOM準備就緒,這可能有所幫助:http://api.jquery.com/ready/ – mparkuk 2014-11-14 15:10:37