【发布时间】:2014-02-26 03:41:45
【问题描述】:
经过几个小时的搜索,我还没有找到解决方案。每次我运行这段代码:
var output = document.getElementsByTagName('div');
var array = [];
for(var x = 0; x < output.length; x++){
array.push(output[i])
};
console.log(array);
我在控制台中得到的只是:
[];
我想要做的就是操作其中一个节点的内部 html(具体来说是节点 #4)。我也试过这个:
var output = document.getElementsByTagName('div')[4];
output.innerHTML='hello world';
刚刚返回:Uncaught TypeError: Cannot set property 'innerHTML' of undefined。任何帮助将非常感激。
我还应该提到,使用 querySelector 或 getElementById 并定位特定的 div 只会返回 null。
【问题讨论】:
-
你是在页面加载/dom 准备好之后这样做吗?
-
您确定在页面加载后执行此操作吗?
-
你在head里加载js资源吗?尝试将js代码移到body底部
-
js 源在正文中,但在顶部,所以我将尝试将其移至底部。至于页面加载后运行代码,我不会,我也试试。
-
哇,这解决了问题。谢谢!我没有意识到将脚本标签放在页面顶部可能会导致任何问题。谢谢!
标签: javascript dom null innerhtml getelementsbytagname