dom节点操作

    xiaoxiao2025-03-27  16

    获取节点元素的几种方法

    document.getElementById(""); // 通过元素选出Id选出 document.getElementsByClassName(""); // 通过元素选出class选出 document.getElementsByTagName(""); // 通过元素的标签名选出 document.getElementsByName(""); // 通过元素的name属性的值选出

    他们都是document里的方法所以前面都有document. 值得一提的时getElement后有s的获取出来的时一个元素的集合,他类似数组,并且有数组的一些属性。 eg

    <body> <input type="text" /> <input type="text" /> <input type="text" /> <input type="text" /> <script> var a = document.getElementsByTagName("input"); console.log(a); </script> </body>

    <body> <input type="text" value="1"/> <input type="text" value="2"/> <input type="text" value="3"/> <input type="text" value="4"/> <script> var a = document.getElementsByTagName("input"); console.log(document.getElementsByTagName("input")[1]);// 打印出value="2"的input元素 console.log(a[0]); // 打印出value="1"的input元素 console.log(a.iteam(2)); // 打印出value="3"的input元素 </script> </body>

    获取的到的元素时document里的对象,既然是对象就会有属性和方法

    <body> <input type="text" value="1"/> <input type="text" value="2"/> <input type="text" value="3"/> <input type="text" value="4"/> <script> var a = document.getElementsByTagName("input"); console.log(a[0].value); // 1 console.log(a[1].type); // text console.log(a.iteam(2).value); // 3 console.log(a[3].getAttribute("value")); // 4 attribute:属性 </script> </body>

    !!! !!!

    创建一个属性节点

    var attribute = document.createAttibute("style"); console.log(attribute); // style=" " 创建出来的属性节点没有值 ,这个是放到行间的

    对属性节点赋值

    attribute.value = "color:red"; console.log(attribute); // style="color:red"

    创建元素节点

    var element = document.createElement("div");

    创建文本节点

    var textnode = document.createTextNode("文本内容");

    将文本节点给元素节点

    element.appendChilid(text); //没有冒号 console.log(element); //<div>文本内容</div>

    将属性节点给元素节点

    element.getAttributeNode(attribute); console.log(element); // <div style="color:red">文本内容</div>

    将创建的元素节点放到页面里

    var body = document.getElementsByTagName("body")[0];// 获取body元素 body.appendChild(element); // a.appendChild(b)方法会把b元素放到a元素里的最后一位

    ! ! ! 元素节点之间的操作

    <body> <div> <p> <i></i> <a></a> </p> <span></span> </div> <script> var a = document.getElementsByTagName("a")[0];// 获取<a></a> var p = doucment.getElementsByTagName("/p")[0]; // 获取<p></p> var span = doucment.getElementsByTagName("span")[0]; // 获取<span></span> console.log(a.parentNode); //<p>……</p> 获取a节点的父节点 console.log(a.parentNode.parentNode); //<div>……</div>获取a节点的父节点的父节点 console.log(a.nextElementSibling); // null 证明元素节点属于对象 获取a节点的同级的下一个元素节点 console.log(a.nextSibling); // #text 获取a节点的同级的下一个节点 这个获取的是文本节点 console.log(a.previousElementSibling);// null 获取a节点的同级的上一个元素节点 console.log(a.previousSibling); // #text 获取a节点的同级的上一个节点 console.log(p.nextElementSibling); // <span>……</span> console.log(p.children);// 返回p节点内所有的元素节点集合(HTMLCollection) console.log(p.chidNodes);// 返回p节点内所有的节点集合(NodeList)(有文本节点还有元素节点) console.log(p.lastChild); // 返回p节点内最后的节点#text(文本节点) console.log(p.lastElementChild); // 返回p节点内最后的元素节点<a></a> console.log(p.firstChild);//#text console.log(p.firstElementChild);//<i></i> console.log(p.ownerDocument);// #document console.log(a.ownerDocument);// #document console.log(p.nodeType); // 1 nodeType返回节点的类型 1表示元素节点 2表示属性节点 3表示文本节点 console.log(p.previousSibling.nodeType); // 3 console.log(a.parentNode.nextElementSibling);// <span>……</span> </script> </body>

    以上是节点的属性可以叠加使用 节点的方法 主要有增、删、改、查

    removeChild(node);// 删除子节点 replaceChild(newnode,oldnode);// 替换节点 appendChild(node);//插入节点; insertBefore(a,b);// 将a节点放到b节点前 setAttribute("属性名","属性值") ;// 给节点添加属性 getArrtibute("属性名"); // 查看节点属性 <body> <div> <p class="ay" id="id"> <i></i> <a></a> </p> <span> </span> </div> <script> //var a = document.getElementsByTagName("a")[0]; //var p = document.getElementsByTagName("p")[0]; //var span = document.getElementsByTagName("span")[0];/获取span的节点 //var s =span.childNodes[0]; //选出span下的文本节点“ ” //span.replaceChild(p,s);//将p节点替换掉s节点 原来的节点p被删除 被剪切走了不是复制 //console.log(p.parentNode.removeChild(p));//(自己删自己)返回删除节点<p class="ay"><i></i><a></a></p> //console.log(p.insertBefore(span,a)); // 将节点span剪切到节点a之前 // console.log(p.getAttribute("id"));// id // console.log(p.getAttribute("class"));// ay // console.log(p.setAttribute("style","color:red")); // <p class="ay" id="id" style="color:red"> </script>
    最新回复(0)