JavaScript DOM元素常见操作详解【添加、删除、修改(2)

function del(){ var div1 = document.getElementById("div1"); var paras = div1.getElementsByTagName("p"); for(var i in paras){ if((i+1)%2 == 1){ div1.removeChild(paras[i]); } } }

这种在初始时是可以的,但是随着动态添加或删除的进行,后面的结果就不对了。因为动态删除操作就影响了原来的顺序,而程序是按照序号去判断奇偶性,所以出现误判

思路2:添加通过设置class属性,然后通过getElementsByclassName来获取奇数行

(也可以从后往前删)

<body> <div> </div> <input type="button" value="添加段落"> <input type="button" value="删除奇数第二段"> </body> <script> var index = 1; function add(){ //创建一个段落标签 var p = document.createElement("p"); //创建文本节点 var content = "第" + index + "段落"; var txt = document.createTextNode(content); //将文本节点添加到段落 p.appendChild(txt); if (index % 2 == 1) { p.setAttribute("class","odd"); } //将段落添加到div中 var div1 = document.getElementById("div1"); div1.appendChild(p); index++; } /*function de1(){ var div1 = document.getElementById("div1"); var paras =div1.getElementsByTagName("p"); for(var i in paras){ if((i+1)%2 == 1){ div1.removeChild(paras[i]); } } }*/ functionde1() { var div1 = document.getElementById("div1"); var paras = div1.getElementsByClassName("odd"); // varparas = document.getElementsByName("odd"); for (var i = paras.length - 1; i >= 0; i--) { div1.removeChild(paras[i]); } } </script> </html>

导航

Document:是根节点

ParentNode:获取父节点

childNodes:获取所有子节点

firstChild:第一个子节点

lastChlid:获取最后一个子节点

</head> <body> <div> <p>第一段<span>第一句</span><span>第二句</span></p> </div> <input type="button"value="获取父节点的name属性"onclick="fun1()"> <input type="button"value="显示p1子节点的个数"onclick="fun2()"> <input type="button"value="显示p1第一个子节点的类型"onclick="fun3()"> <input type="button"value="显示p1最后一个子节点的类型"onclick="fun4()"> </body> <script> var p1 =document.getElementById("p1"); function fun1(){ var value=p1.parentNode.getAttribute("name"); alert(value); } function fun2(){ var chlids = p1.childNodes; alert(chlids.length) } function fun3(){ alert(p1.firstChild.nodeType); } function fun4(){ alert(p1.lastChild.nodeType); } </script> </html>

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript操作DOM技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2b7becaa2099d8bda01a14b0f31ba7fa.html