DOM中node和element的区别是什么

node和element的区别:1、Node是节点,其中包含不同类型的节点,而Element只是Node节点的一种;2、Element继承于Node,具有Node的方法,同时又拓展了很多自己的特有方法。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

我们经常使用document.getElementById去获取DOM中的元素,也会使用childNodes来获取子节点。那么Element和Node的区别是什么?

Node提供的节点与Element提供的节点

在学jQuery的时候,大家是不是也是总混淆Node与Eleme

左边为Node/右边为ElementNode与Element的关系

Node与Element的关系,从继承方面思考可能清晰很多。

Element 继承于 Node,具有Node的方法,同时又拓展了很多自己的特有方法。

在Element的一些方法里,是明确区分了Node和Element的

比如说:childNodes与 children, parentNode与parentElement等方法。

Node的一些方法,返回值为Node,比如说文本节,注释节点之类的,而Element的一些方法,返回值则一定是Element。
区分清楚这点了,也能避免很多低级问题。

简单的说就是Node是一个基类,DOM中的Element,Text和Comment都继承于它。
换句话说,Element,Text和Comment是三种特殊的Node,它们分别叫做ELEMENT_NODE,
TEXT_NODE和COMMENT_NODE。

所以我们平时使用的html上的元素,即Element,是类型为ELEMENT_NODE的Node。

总结:

Node是节点,其中包含不同类型的节点,Element只是Node节点的一种。

Element继承与Node,可以调用Node的方法。

给所有DOM元素添加方法,只需要污染Node或者Element的原型链就行。

Node在这儿指DOM节点,其中包括了我们最常见的元素节点,比如 div/p/span 之类的。除此之外还包括了 Document/Comment 之类的节点。
一个节点的类型,可以通过其nodeType类型查看到,具体的类型则可以看下图:

【相关推荐:javascript学习教程】

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » DOM中node和element的区别是什么

登录

找回密码

注册