本文详解JavaScript中DOM子节点的操作机制,涵盖遍历子元素、删除与添加节点的具体代码实现。系统梳理nextSibling、childNodes等只读属性及nodeValue读写属性,并列举appendChild、removeChild、createElement等核心方法,适用于前端节点管理与XML数据处理场景。
JavaScript DOM子节点操作与属性方法详解
代码如下:
在添加子节点之前,首先需要删除所有现有的子节点。
var usernameEle = document.getElementById("username");
var childs = usernameEle.childNodes;
for(var i = childs.length - 1; i >= 0; i--) {
usernameEle.removeChild(childs[i]);
}
var username = document.createTextNode(obj.username);
usernameEle.appendChild(username);
DOM节点主要包含以下属性:
nextSibling:返回当前节点的下一个兄弟节点(只读) previousSibling:返回此节点的前一个兄弟节点(只读) parentNode:返回父节点(只读) childNodes:存储节点的子节点列表(只读) nodeValue:返回节点的文本(可读写) Text:返回此节点及其后代的文本内容(可读写) nodeName:返回节点的名字(只读)
Attributes:存储节点的属性列表(只读) dataType:返回此节点的数据类型 Definition:以DTD或XML模式给出的节点的定义(只读) Doctype:指定文档类型节点(只读) documentElement:返回文档的根元素(可读写) firstChild:返回当前节点的第一个子节点(只读) Implementation:返回XMLDOMImplementation对象 lastChild:返回当前节点最后一个子节点(只读) nodeType:返回节点的类型(只读) nodeTypedValue:存储节点值(可读写) ownerDocument:返回包含此节点的根文档(只读) Parsed:返回此节点及其子节点是否已经被解析(只读) Prefix:返回名称空间前缀(只读) preserveWhiteSpace:指定是否保留空白(可读写) url:返回最近载入的XML文档的URL(只读) Xml:返回节点及其后代的XML表示(只读)
DOM节点提供以下常用方法:
getElementsByTagName:返回指定名字的元素集合 appendChild:为当前节点添加一个新的子节点,放在最后的子节点后 createElement:创建一个元素节点 createTextNode:创建包括给定数据的文本节点 removeChild:从子结点列表中删除指定的子节点 hasChildNodes:返回当前节点是否有子节点
cloneNode:返回当前节点的拷贝 createAttribute:创建新的属性 createCDATASection:创建包括给定数据的CDATA段 createComment:创建一个注释节点 createDocumentFragment:创建DocumentFragment对象 createEntityReference:创建EntityReference对象 createNode:创建给定类型,名字和命名空间的节点 createPorcessingInstruction:创建操作指令节点 insertBefore:在指定节点前插入子节点 Load:导入指定位置的XML文档 loadXML:导入指定字符串的XML文档 replaceChild:从子节点列表中替换指定的子节点 Save:把XML文件存到指定节点 selectNodes:对节点进行指定的匹配,并返回匹配节点列表 selectSingleNode:对节点进行指定的匹配,并返回第一个匹配节点 transformNode:使用指定的样式表对节点及其后代进行转换 transformNodeToObject:使用指定的样式表将节点及其后代转换为对象