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学习教程】
巧妙绑定,让局域网工作站高效上网腾讯云服务器磁盘挂载麻烦尽快审核-备案平台为什么菲律宾服务器租用受欢迎云服务器可以挂一些什么阳光云服务器怎么添加来宾账户CentOS7无法用Tab键补全命令的解决方法RAKsmart:“11.11大促”,E3-1230仅30美金,云服务器全场7折