经过几个小时的搜索,我还没有找到解决方案。每次我运行此代码时:
var output = document.getElementsByTagName('div');
var array = [];
for(var x = 0; x < output.length; x++){
array.push(output[i])
};
console.log(array);
我在控制台中得到的只是:
[];
我想做的就是操纵其中一个节点(具体来说是节点#4)的内部 html。我也尝试过这个:
var output = document.getElementsByTagName('div')[4];
output.innerHTML='hello world';
它只是返回:未捕获的类型错误:无法设置未定义的属性“innerHTML”
。任何帮助将非常感激。
我还应该提到,使用 querySelector
或 getElementById
并定位特定的 div 仅返回 null。
最佳答案
你会踢自己的。
在 for 循环中,您将 x 定义为迭代器,但使用的是 output[i]。我还没有被定义。使用输出[x]。
此外,要获取第四个元素,您需要索引为 3 的元素。由于索引从零开始,因此第一个元素将为 0。第四个元素将为 3。
关于javascript - 无法使用innerhtml或选择节点,返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031255/