我正在使用我的第一个纯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