我正在使用我的第一個純JavaScript應用程序,我無法弄清楚爲什麼我的document.getElementById
在下面的代碼塊的最後一塊不起作用。我用document.addEventListener('DOMContentLoaded', function() {first functions called}
開始我的腳本,並且元素無障礙地加載到DOM。爲什麼document.getElementById不在這裏工作?
在將元素添加到我的頁面之前,我的代碼是跳到最後一個塊(開始var x
)的問題嗎?如果是這樣,是否有任何方法告訴代碼掛起?最終我想在後面的函數中調用document.getElementById
(修改DOM)。
function populateRefineMenu(arr, chosenArr, category) {
var categoryUL = document.createElement('ul');
categoryUL.className = 'refine-menu-ul';
categoryUL.Id = 'refine-' + category;
var clearFilter = document.createElement('li');
clearFilter.className = 'clear-filter';
clearFilter.Id = 'genre-clear-filter';
console.log('This ID is ' + clearFilter.Id); // logs fine
clearFilter.innerHTML = 'Clear Filter';
console.log("clearFilter is " + clearFilter.innerHTML); // logs fine
refineMenu.appendChild(categoryUL);
categoryUL.appendChild(clearFilter);
var x = document.getElementById('genre-clear-filter');
console.log(x) // logs "null"
console.log(x.innerHTML) // "cannot read property 'innerHTML'
}
感謝您的建議!
對象屬性區分大小寫。它應該是'clearFilter.id'。 – JJJ
哦,所以我爲對象創建了一個新的鍵和值,而不是設置ID。得到它了。謝謝! – dedaumiersmith