我有这段代码:
var size = iframe.contentWindow.document.getElementsByClassName('checked').getElementsByTagName('span')[0].innerHTML;
出于某种原因,每次我运行它都会得到这样的信息:
Uncaught TypeError:Object [object NodeList]没有方法'getElementsByTagName'
尽管getElementsByTagName()
的所有其他功能都能正常工作。造成这种错误的原因是什么?
由于
答案 0 :(得分:2)
getElementsByClassName
返回一组元素(即NodeList
),而不是单个元素:
iframe
.contentWindow
.document
.getElementsByClassName('checked')[0] // <--- [0] (or whatever index)
.getElementsByTagName('span')[0]
.innerHTML;
此外,您可以将其替换为querySelector
:
iframe
.contentWindow
.document
.querySelector(".checked span")
.innerHTML;