document.getElementById('id of div that definately exists')
返回null。getElementById返回null?
我最初加載了javascript最後爲了確保我不需要擔心onload事件。我也嘗試使用onload事件。這非常恐怖。任何想法或幫助將不勝感激。
document.getElementById('id of div that definately exists')
返回null。getElementById返回null?
我最初加載了javascript最後爲了確保我不需要擔心onload事件。我也嘗試使用onload事件。這非常恐怖。任何想法或幫助將不勝感激。
它可以由以下情況引起:
請發表您的代碼。
#2實際上不會產生'null',而只是帶有該id的兩個元素中的第一個。 – Bergi 2015-06-16 01:48:18
感謝拯救了我的生命 – 2017-06-09 13:36:55
可能有很多原因,document.getElementById
不起作用
你有一個無效的ID
ID和名稱標記必須以字母開頭([A-ZA-Z] ),可以跟隨任意數量的字母,數字([0-9]),連字符(「 - 」),下劃線(「_」),冒號(「:」)和句點(「。」)。 (資源:What are valid values for the id attribute in HTML?)
你使用你已經在你的頭作爲<meta>
名稱(例如版權,作者...),它看起來奇怪,但發生在我身上的一些ID:如果你的「重新使用IE看看 (資源:http://www.phpied.com/getelementbyid-description-in-ie/)
您正在定位幀或iframe中的元素。在這種情況下,如果iframe中加載父的同一個域中的一個頁面,你應該尋找的元素 之前針對contentdocument
(資源:Calling a specific id inside a frame)
你只是尋找一個元素時,該節點不是有效地加載到DOM,或者也許這是一個簡單的拼寫錯誤
我懷疑你用相同的ID兩次或更多:在這種情況下document.getElementById
應該回到你如何執行至少第一要素
感謝iframe的提示,幫了我一把! – 2013-11-20 14:14:15
另外要小心pag上的js即例如,如果你這樣做:
(function(window, document, undefined){
var foo = document.getElementById("foo");
console.log(foo);
})(window, document, undefined);
這將返回null,因爲您將在加載之前調用文檔。
更好的選擇..
(function(window, document, undefined){
// code that should be taken care of right away
window.onload = init;
function init(){
// the code to be called when the dom has loaded
// #document has its nodes
}
})(window, document, undefined);
的[爲什麼jQuery的或DOM方法等的getElementById找不到元素?](http://stackoverflow.com/q/14028959/1048572) – Bergi 2015-06-16 01:49:02
我重複有一個類似的情況,我的內容是動態生成的,並且腳本查詢ID在腳本創建之前使用該ID創建內容。我修正了這個順序,它對我有用 – 2017-03-01 06:45:01