10.1.1 Node 类型

1.节点类型

节点类型(IE不识别) 数值常量(多使用数值来判断节点类型)
Node.ELEMENT_NODE 1
Node.ATTRIBUTE_NODE 2
Node.TEXT_NODE 3
Node.CDATA_SECTION_NODE 4
Node.ENTITY_REFERENCE_NODE 5
Node.ENTITY_NODE 6
Node.PROCESSING_INSTRUCTION_NODE 7
Node.COMMENT_NODE 8
Node.DOCUMENT_NODE 9
Node.DOCUMENT_TYPE_NODE 10
Node.DOCUMENT_FRAGMENT_NODE 11
Node.NOTATION_NODE 12

最常用的是元素和文本节点
根节点是文档节点,HTML是文档节点的子节点

2.常见的节点属性

子节点

someNode.childNodes[]
someNode.childNodes.item()
someNode.firstchild == someNode.childNodes[0]
someNode.lastchild == someNode.childNodes[someNode.childNodes.length-1]

父节点

someNode.parentNode

兄弟节点

someNode.previousSibling
someNode.nextSiblimg

文档节点

someNode.ownerDoucument

3.方法

hasChildNodes() 用于检测是否有子节点

操作节点的方法

var returnedNode = someNode.appendChild(newNode);
//在末尾添加节点,返回新增的节点
var returnedNode = someNode.insertBefore(newNode,referNode);
//在参照节点(第二个参数)之前插入节点,返回新增的节点
var returnedNode = someNode.replaceChild(newNode,oldNode);
//将要替换的节点(第二个参数)删除并由新节点替换,返回旧节点
var returnedNode = someNode.removeChild(oldNode);
//移除并返回旧节点
var clonedNode = someNode.cloneNode();
//为someNode克隆一个副本,接受一个布尔参数,
//为false时浅复制,只复制节点本身,
//为true时深复制,复制节点及其子节点树
//不会复制js属性,例事件处理程序
element.normalize(); 
//在包含多个文本节点的父元素中调用,会合并文本节点
发布了43 篇原创文章 · 获赞 0 · 访问量 279

猜你喜欢

转载自blog.csdn.net/weixin_44774877/article/details/103973353