为什么GetElements不会返回直接结果?

时间:2018-03-31 18:40:36

标签: javascript debugging

第一次学习Javascript并在Chrome上玩它, 但注意到结果不如预期。输入后:

document.getElementsByTagName( “H1”)

我希望看到:<h1>tester h1 in body</h1>

相反,它返回“HTMLCollection [h1]”的长下拉列表。

为什么这样以及如何获得简化视图?

见图:1

3 个答案:

答案 0 :(得分:1)

您要求整个元素及其所有相关的属性和方法。您可以在.outerHTML属性(document.getElementsByTagName("h1")[0].outerHTML)中找到您所追求的内容。

答案 1 :(得分:0)

get有两种类型的函数 一个用getElement开头,一个用getElements开头。 getElement返回一个,getElements返回多个数组。

所以你需要遍历循环中的元素来处理它。

您需要的输出将来自其中一个元素的.outerHTML。

答案 2 :(得分:0)

我意识到这个问题已经得到了回答,但是当你学习了解getElementsByTagName和类似方法返回的内容时,它可能对你有所帮助。

你会注意到&#39;&#39;在&#39; Elements&#39;中,这应该是该方法将返回多个元素的线索。在这种情况下,带有HTML标记的文档中的所有H1元素将在类似数组的NodeList对象中返回:

HTMLCollection [h1]

要访问您的元素,您只需要通过添加[0]或您需要的任何索引值来指定您要定位的数组中的索引,即使只有一个预期元素:

document.getElementsByTagName("h1")[0]

这也是学习者在使用getElementsByClassName方法时常见的问题。但是,如果你注意方法名称中指定的数字(&#39;元素&#39;),并记住指定索引值,你将全部设置。