Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么GetElements不';不返回直接结果?_Javascript_Debugging - Fatal编程技术网

Javascript 为什么GetElements不';不返回直接结果?

Javascript 为什么GetElements不';不返回直接结果?,javascript,debugging,Javascript,Debugging,第一次学习Javascript并在Chrome上玩它, 但人们注意到的结果并不像预期的那样。输入时: document.getElementsByTagName(“h1”) 我希望看到:测试仪h1在车身中 相反,它返回一个长长的下拉列表“HTMLCollection[h1]” 这是为什么?我是如何得到简化视图的 请参见此处的图片:您需要整个元素及其所有相关属性和方法。您可以在.outerHTML属性(document.getElementsByTagName(“h1”)[0].outerHTML

第一次学习Javascript并在Chrome上玩它, 但人们注意到的结果并不像预期的那样。输入时:

document.getElementsByTagName(“h1”)

我希望看到:
测试仪h1在车身中

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

这是为什么?我是如何得到简化视图的


请参见此处的图片:

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

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

因此,您需要在循环中的元素上进行迭代来处理它


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

我知道这个问题已经得到了回答,但它可能会帮助您了解
getElementsByTagName
和类似方法返回的内容

您将注意到“Elements”中的“s”,这应该是该方法将返回多个元素的线索。在这种情况下,文档中带有
H1
标记的所有
HTML
元素将以类似节点列表对象的数组形式返回:

HTMLCollection [h1]
要访问元素,只需通过添加[0]在数组中指定目标索引,或指定所需的任何索引值,即使只有一个预期元素:

document.getElementsByTagName("h1")[0]

这也是学习者在使用
getElementsByClassName
方法时经常遇到的问题。但是,如果您注意方法名称(“元素”)中指定的复数,并记住指定索引值,您将全部设置。

单击
0
旁边的箭头。这就是你需要看到的。
HTMLCollection
包含一个元素:
HTMLCollection[0]
。您的结果是(1)个
h1
标记的集合。您看到的是这个元素的所有属性。要获得简化的结果,请尝试使用document.getElementsByTagName(“h1”)[0]。outerHTML您能告诉我们您需要查看哪些内容吗?你说的“简化视图”是什么意思?下面的两个答案目前只是猜测而已。谢谢你的回答。当我尝试此操作时,输出为“undefined”抱歉,-document.getElementsByTagName返回类似数组的对象,而不仅仅是一个对象。如果您知道文本中只有一个索引,您可以使用我在上面添加的[0]索引找到它。谢谢,添加[0]给了我期望的视图。尽管如此,如果有多个结果,但我想在简化视图中查看所有结果,有没有办法做到这一点?当然,但不要将其视为“简化视图”——outerHTML是您正在查找的元素的特定属性。如果需要这些元素的数组,可以将返回的对象转换为数组并映射为outerHTML属性,如下所示:
[…document.getElementsByTagName('h1')].map(element=>element.outerHTML]