无法访问span标记的innerHTML

时间:2013-01-23 10:43:56

标签: javascript dom

我有这段代码:

var size = iframe.contentWindow.document.getElementsByClassName('checked').getElementsByTagName('span')[0].innerHTML;            

出于某种原因,每次我运行它都会得到这样的信息:

  

Uncaught TypeError:Object [object NodeList]没有方法'getElementsByTagName'

尽管getElementsByTagName()的所有其他功能都能正常工作。造成这种错误的原因是什么?

由于

1 个答案:

答案 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;