我正在尝试开发Firefox扩展程序。以下代码:
var divList = document.getElementsByTagName("div") ;
Components.utils.reportError("num of divs = " + divList.length) ;
总是说: - div的数量= 0。
我不明白我在这段简单的代码中犯了什么错误。当我用"div"
替换"*"
时,我总是会在任何网页上获得大约1100的值。
答案 0 :(得分:4)
可能是在DOM未准备好时运行代码。
尝试将JS代码放在script
标记最末端的body
标记内。
我不知道为什么*会得到这么多项目。
答案 1 :(得分:0)
不确定扩展上下文有什么区别,但可能与命名空间有关 - https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName。使用“*”时,您获得的1100个元素中的第一个是什么标记?