Javascript 为什么;文件标题「;而不是",;文件.标题.标题“;?RE:遍历DOM
我刚刚开始学习客户端JavaScript和使用在线教程,请耐心听我说 这个问题基于我对以下内容的理解: 要访问文档正文的属性,语法是“document.body”,它返回正文中的所有元素 同样,当您访问head时,使用“document.head”。这是有道理的,最重要的是,它起作用了 然而,当我尝试按照相同的逻辑访问身体或头部中的元素时,我会得到一个返回值“undefined”。例如,document.body.h1返回“undefined”,尽管body元素中有h1元素 此外,当我输入document.head.title--“undefined”时 然而,奇怪的是,当我输入“document.title”时,它返回与title标记关联的字符串值 我认为为了访问标题,您必须通过头部访问它,因为它是嵌套在头部中的元素。但好吧,没关系。使用相同的逻辑,我应该能够输入document.h1并获取其值。不,相反,我没有定义Javascript 为什么;文件标题「;而不是",;文件.标题.标题“;?RE:遍历DOM,javascript,dom,properties,Javascript,Dom,Properties,我刚刚开始学习客户端JavaScript和使用在线教程,请耐心听我说 这个问题基于我对以下内容的理解: 要访问文档正文的属性,语法是“document.body”,它返回正文中的所有元素 同样,当您访问head时,使用“document.head”。这是有道理的,最重要的是,它起作用了 然而,当我尝试按照相同的逻辑访问身体或头部中的元素时,我会得到一个返回值“undefined”。例如,document.body.h1返回“undefined”,尽管body元素中有h1元素 此外,当我输入doc
请有人给我解释一下为什么这种行为如此不一致。提前感谢。您确实提出了两个问题:
document.title
而不是document.head.title
body
中有h1
,为什么document.body.h1
不返回元素document.title
文档。标题
是历史记录。浏览器环境的各个部分在20世纪90年代由多个不同的人/组织专门开发。:-)这就是说,它是文档的标题,因此这不是一个不合理的位置,即使您在标题中使用标题标记
document.body.h1
一个答案是:因为没有人决定这样设计。有一些早期的东西,比如document.all
(文档中所有元素的列表),甚至还有标记特定的元素(我完全忘了它们是什么,但它们离document.body.h1
-我想document.tags.h1
或者其他什么东西,这里又是一个列表。)
但另一个答案是:因为DOM是一棵树body
可以有多个h1
元素,既可以是直接子元素,也可以是子元素的子元素(或更深层);总的来说,后代。事实证明,使用所有这些创建自动列表无法扩展到大型文档
相反,您可以通过多种方法查询DOM(整个文档,或仅查询特定元素的内容):
- -(就在
document
上)使用元素的id
属性值获取元素
- -查找与CSS选择器匹配的第一个元素(可以在
文档上或元素上使用它)。如果没有匹配项,则返回null
- -获取与CSS选择器匹配的所有元素的列表(可以在
文档
或元素上使用它)。你可以指望得到一份清单;当然,它的长度可能是0
- -获取具有给定标记名的所有元素的列表(例如
“h1”
)
- -(IE8及更早版本中不支持)获取具有给定类的所有元素的列表
还有很多。有关详细信息,请参阅和/或
一些自动列表仍然存在(它们的用途太多,必须维护/保留),例如和实例上的属性、实例上的属性以及其他各种属性。您确实提出了两个问题:
为什么是document.title
而不是document.head.title
及
如果body
中有h1
,为什么document.body.h1
不返回元素
document.title
文档。标题
是历史记录。浏览器环境的各个部分在20世纪90年代由多个不同的人/组织专门开发。:-)这就是说,它是文档的标题,因此这不是一个不合理的位置,即使您在标题中使用标题标记
document.body.h1
一个答案是:因为没有人决定这样设计。有一些早期的东西,比如document.all
(文档中所有元素的列表),甚至还有标记特定的元素(我完全忘了它们是什么,但它们离document.body.h1
-我想document.tags.h1
或者其他什么东西,这里又是一个列表。)
但另一个答案是:因为DOM是一棵树body
可以有多个h1
元素,既可以是直接子元素,也可以是子元素的子元素(或更深层);总的来说,后代。事实证明,使用所有这些创建自动列表无法扩展到大型文档
相反,您可以通过多种方法查询DOM(整个文档,或仅查询特定元素的内容):
- -(就在
document
上)使用元素的id
属性值获取元素
- -查找与CSS选择器匹配的第一个元素(可以在
文档上或元素上使用它)。如果没有匹配项,则返回null
- -获取与CSS选择器匹配的所有元素的列表(可以在
文档
或元素上使用它)。你可以指望得到一份清单;当然,它的长度可能是0
- -获取具有给定标记名的所有元素的列表(例如
“h1”
)
- -(IE8及更早版本中不支持)获取具有给定类的所有元素的列表
还有很多。有关m,请参阅和/或