javascript - 无法使用innerhtml或选择节点,返回null

标签 javascript dom null innerhtml getelementsbytagname

经过几个小时的搜索,我还没有找到解决方案。每次我运行此代码时:

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”。任何帮助将非常感激。

我还应该提到,使用 querySelectorgetElementById 并定位特定的 div 仅返回 null。

最佳答案

你会踢自己的。

在 for 循环中,您将 x 定义为迭代器,但使用的是 output[i]。我还没有被定义。使用输出[x]。

此外,要获取第四个元素,您需要索引为 3 的元素。由于索引从零开始,因此第一个元素将为 0。第四个元素将为 3。

关于javascript - 无法使用innerhtml或选择节点,返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031255/

相关文章:

javascript - 按位 AND OR 和 XOR 如何处理 -negative 有符号整数?

javascript - DOMParser 与模板和 innerHTML 的优势

javascript - 为什么 JavaScript 函数的参数返回 'undefined' ?

php - 每 24 小时执行一个 php 页面

MongoDB:如何查询字段为空或未设置的记录?

javascript - 如何获取十六进制数字的 jQuery Mobile slider ?

javascript - 重定向中断图像上传

c++ - 用特殊值初始化 C++ 中的对象数组

javascript - 搜索并查找以特定数字开头的数字

c# - string.Split 忽略分隔符之间的空值