标签:替换 节点 append 兄弟节点 rtb before 关系 create 文档
节点关系属性:(带element的属性ie低版本不支持)
节点操作(增删改):
> document.createElement(‘div‘) 创建元素节点 > document.createTextNode(‘文本‘) 创建文本节点 ``` var newLi = document.createElement(‘li‘); newLi.innerHTML = ‘444‘; ```
``` var ul = document.getElementsByTagName(‘ul‘)[0]; ul.appendChild(newLi); ```
``` var li2 = document.getElementById(‘li2‘); var newLi1 = document.createElement(‘li‘); newLi1.innerHTML = ‘1-21-2‘; li2.parentNode.insertBefore(newLi1,li2); ```
* 如果newNode是已经存在的标签,就是改变标签的物理位置 ``` var newLi2 = document.createElement(‘li‘); newLi2.innerHTML = ‘三三三‘; var li3 = document.getElementById(‘li3‘); //ul.replaceChild(newLi2,li3); li3.parentNode.replaceChild(newLi2,li3); ```
``` var li5 = document.getElementById(‘li5‘); //ul.removeChild(li5); li5.parentNode.removeChild(li5); // li5.remove(); ie不支持 ```
> cloneNode() 克隆节点,不传参,只复制标签本身,不包括内容 > cloneNode(true) 深度克隆,复制标签及标签里面的所有内容
获取元素的方法:
``` //封装兼容所有浏览器的通过类名获取元素的方法 function getByClass(ele,cls){ //先获取ele中所有标签(不区分标签名) var elements = ele.getElementsByTagName(‘*‘); var ary = []; //遍历elements for(var i = 0; i < elements.length; i++){ // eles[i].className ‘red aa ccc‘ //先把类名词列表分割成数组 var clsAry = elements[i].className.split(‘ ‘); //[‘red‘,‘aa‘,‘ccc‘] //遍历类名数组,如果存在cls相同的类名,就把这个元素放进ary for(var j = 0; j < clsAry.length ; j++){ if(cls == clsAry[j]){ ary.push(elements[i]); break; } } } return ary; } ```
标签:替换 节点 append 兄弟节点 rtb before 关系 create 文档
原文地址:https://www.cnblogs.com/musong-out/p/11427284.html