document.getElementsByTagName( “*”);返回多个标签

时间:2015-04-30 00:30:26

标签: javascript html

var allthosetags = document.getElementsByTagName("*");

每个索引返回多个html标记

allthosetags[0].innerHTML

给了我一个元头链接和脚本,而不仅仅是meta。

这是标准行为吗? W3c说我应该得到一组节点。

4 个答案:

答案 0 :(得分:1)

因为*匹配所有标记,您应该将代码更改为:

var allthosetags = document.querySelectorAll("meta")

这可能会解决您的问题!

答案 1 :(得分:0)

它不仅获取标签,还获取标签的内容,因为内容是该单个标签的一部分。这是IS的标准行为。 您也许可以尝试document.getElementsByClassName(),并为每个标记赋予相同的类,但我怀疑它会有类似的结果

答案 2 :(得分:0)

只需在此页面上按F12键,然后在控制台中键入document.getElementsByTagName(" *")。您将了解它所获得的所有元素以及它获得的嵌套程度

enter image description here

您可以看到每个集合项都包含其他元素。

答案 3 :(得分:0)

我担心你不能。您可以使用getElementsByTagName进行两次查询,也可以使用querySelectorAll。作为:

var tags = document.querySelectorAll('input,a,p')

http://jsfiddle.net/aLnqh88y/