我試圖做一個簡單的事情,例如:的getElementsByTagName()長度返回零
var elements = document.getElementsByTagName("input");
console.log(elements);
console.log(elements.length);
的的console.log(要素)顯示了含有28種輸入元素節點列表,但elements.length總是0.
我也看到了這個getElementsByTagName("div").length returns zero for any webpage但是我不明白究竟是什麼原因發生以及如何解決它。我也注意到這發生在Firefox,IE,Chrome上。
任何人都可以幫助我嗎?
不太記得了肯定,但嘗試做elements.length() - 長度可能是一個功能,不能remembe。 r – 2011-04-30 21:41:21
您確定在文檔/ DOM加載時您正在調用您的代碼嗎?可能是,在調用getElementsByTagName時,不存在輸入元素,但由於NodeLists是動態的,因此當文檔加載時,元素將包含全部28個輸入。 – Rafael 2011-04-30 21:44:05
似乎沒有加載DOM。將其複製並粘貼到頁面的URL中,以查看DOM加載後的內容。 javascript:var elements = document.getElementsByTagName(「input」); alert(「elements has」+ elements.length +「children」); – adorablepuppy 2011-04-30 21:48:59