getElementsByTagName()只返回完全匹配吗?

时间:2014-07-21 16:16:24

标签: javascript

我认为它应该只返回完全匹配。

我在源代码中看到的东西我必须使用:

var someArray = someObject.getElementsByTagName("item");

除非我检查DOM,否则我看不到任何名为“items”的标签。 有一些css类'.some_item_details'。

随后我看到关于元素为null的错误,这对我来说很有意义。让我感到困惑的是,我在生产代码库中看到了这一点。所以我在想,“当然没有人会做出这样的事情,我一定会错过一些东西”。 'item'不能存在自定义标签吗?!?

1 个答案:

答案 0 :(得分:2)

检查getElementsByTagName()

确实,getElementsByTagName匹配进行完全匹配。

  

返回具有给定标记名称的元素的HTMLCollection。该   搜索完整文档,包括根节点。归来了   HTMLCollection是实时的,这意味着它会自动更新   与DOM树保持同步而不必打电话   document.getElementsByTagName()再次。

     

注意

     

document.getElementsByTagName()类似于    element.getElementsByTagName(),除了它的搜索包含    整个文件。

@ NiettheDarkAbsol的评论:

var someArray = someObject.getElementsByTagName("item");
  

事实上,您展示的代码段将搜索 item   标签。 如果someObject是XML上下文,这可能没问题。