javascript - 为什么没有 document.div 方法?
高洛峰
高洛峰 2017-04-11 12:31:50
[JavaScript讨论组]

w3cshool上
「HTML 对象」有74个
「HTML 标签」有125个

HTML 对象
比如:
document.body 方法
document.images 方法

HTML 标签
比如:

就没有 document.p 方法

查找「HTML对象」比查找「HTML标签」更快吗?
Image 的描述中有这么一段:

标签每出现一次,一个 Image 对象就会被创建。

是不是可以理解为

标签出现时,并没有任何对象被创建。

HTML对象 和 HTML标签 的区别是什么呢?
为什么不全部让它们变成 HTML对象?
区分开来是不是别有用意?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
阿神

html只是一套标记语言,浏览器根据这套标记生成自己能读懂的文档树,文档树的节点有各种类型,比如元素,属性还有文档,这时候已经跟html标签没啥关系了。
https://li-xinyang.gitbooks.i...

document 里面提供什么接口,看这里:https://developer.mozilla.org...
document提供什么接口,接口的名字是什么,作用是什么,这时候已经跟那份html的说明书没关系了,他对应的已经是dom树的节点了,也就是浏览器里内部解读出来的东西。

PHP中文网

最简单的检测是不是对象的方法是

===============

typeof(document.body)
typeof(document.body.p)

===============

但是其实w3c里有说哪些是html对象哪些不是。

===============

===============

以下是我在网上查到最贴切的形容对象,元素,和方法的关系的

===============
对象:一头猪
元素:一只猪蹄
方法:吃,喝

===============

对象才有方法,元素则没有。

PHPz

感觉更多的是历史遗留问题:W3cschool也说了:

这些集合属性都源自于 0 级 DOM。它们已经被 Document.getElementsByTagName() 所取代,但是仍然常常使用,因为他们很方便。

至于w3cshool上:
「HTML 对象」有74个
「HTML 标签」有125个
html对象少了可能只是由于属性少懒得写或者是版本没更新,英文版本里有:
http://www.w3schools.com/jsre...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号