首页 > 解决方案 > HTMLCollection 返回 null

问题描述

我已经查看了其他 stackoverflow 帖子,但没有一个可以解决我的错误。

尝试使用类名“CodeMirror-code”获取外部 div 中的 div

我正在构建一个 chrome 扩展,它直接修改特定网页的 html 内容以及当我调用时

const variable = document.getElementsByClassName('CodeMirror-code');

console.log(variable);

console.log("Length:", variable.length);

输出是:这个

现在,当我尝试调用 HTML 集合的第一项时

variable.item(0)

这返回 undefined 或 null

其他解决方案说您应该将代码包围在 window.onload 函数中,以便加载 DOM 元素。我这样做了,没有任何变化。有什么办法可以解决这个错误吗?

更新: 这是 HTML 集合中的内容

标签: javascriptgoogle-chrome-extension

解决方案


将您的代码包围在 window.onLoad 中的设置间隔函数中并添加一些延迟(例如 2000 持续 2 秒)。唯一让 HtML 集合为 null 的是 dom 元素的加载延迟。如果添加延迟仍然没有帮助,那么尝试追溯您的 div 的父母,看看您的 js 代码能够捕捉到预期的 div 直到什么时候。然后检查它是否与加载时间或代码范围有关。


推荐阅读