节点的关系和操作

节点之间的关系
每一个节点都有childNodes属性,这个属性明显体现了父子关系。从父到子。
每一个节点都有parentNode属性,这个属性也体现了父子关系。从子到父。
同一个父节点的nodeList中的每一个节点都有previousSibling属性和nextSibling属性,
即便是第一个和最后一个,结果无非就是空与非空。这明显体现了兄弟关系。
通过以上的由父到子和由子到父以及兄弟之间的关系,我们就可以搜索文档树中的任何一个节点。
最后还有一个特殊的属性,那就是ownDocument。这个属性指向整个文档的文档节点。也就是说文档的
根节点。节点之间关系的维护是靠指针维系的,因此搜索起来十分快捷。


节点的操作
向childNodes中添加节点的方法
insertBefore,将节点插入到某个节点之前。
appendChild,将节点插入到nodeList末尾。
replaceChild,节点的替换,(替换节点,被替换节点)
removeChild,节点的移除,(被移除的节点)
由于前提是在childNodes中操作,所以必须首先获取父节点parentNode,然后获取nodeList。
还有一个重量级方法,那就是cloneNode()方法。接受一个参数,如果这个参数是true,那么
执行深度复制,复制这个节点的子文档树。如果参数是false,执行浅复制。仅仅复制这个节点本身。

猜你喜欢

转载自blog.csdn.net/qq_23143555/article/details/80809773