前面有讲过一些DOM的基本概念。
今天来说一下DOM 的一些基本操作,主要有创建节点,追加节点,删除节点。
1.创建DOM元素:
createElement(标签名) —— 创建一个节点
appendChild(节点) —— 追加一个节点
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>DOM 操作</title> <script type="text/javascript"> window.onload = function(){ var oBtn = document.getElementById("btn1"); var oUl = document.getElementById("ul1"); var oTxt = document.getElementById("txt1"); oBtn.onclick = function(){ var oLi = document.createElement(‘li‘); oLi.innerHTML = oTxt.value; oUl.appendChild(oLi); } } </script> </head> <body> <input type="text" id="txt1" /> <input type="button" name="btn1" id="btn1" value="创建li" /> <ul id="ul1"></ul> </body> </html>
2.插入元素:
insertBefore(节点, 原有节点) —— 在已有元素前插入
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>DOM 操作</title> <script type="text/javascript"> window.onload = function(){ var oBtn = document.getElementById("btn1"); var oUl = document.getElementById("ul1"); var oTxt = document.getElementById("txt1"); var aLi = document.getElementsByTagName("li"); oBtn.onclick = function(){ var oLi = document.createElement(‘li‘); oLi.innerHTML = oTxt.value; if(aLi.length > 0){ oUl.insertBefore(oLi, aLi[0]); }else{ oUl.appendChild(oLi); } } } </script> </head> <body> <input type="text" id="txt1" /> <input type="button" name="btn1" id="btn1" value="创建li" /> <ul id="ul1"></ul> </body> </html>
3.删除节点:
removeChild(节点) —— 删除一个节点
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>DOM 操作</title> <script type="text/javascript"> window.onload = function(){ //删除节点 var oUl = document.getElementById("ul1"); var aA = document.getElementsByTagName("a"); for(var i=0;i<aA.length;i++){ aA[i].onclick = function(){ oUl.removeChild(this.parentNode); } } } </script> </head> <body> <ul id="ul1"> <li>第一条 <a href="javascript:;">删除</a></li> <li>第二条 <a href="javascript:;">删除</a></li> <li>第三条 <a href="javascript:;">删除</a></li> </ul> </body> </html>
4.文档碎片(只能提升低级浏览器的性能,稍作了解即可):
createDocumentFragment
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文档碎片</title> <script type="text/javascript"> window.onload = function(){ var oUl = document.getElementById("ul1"); var oFrag = document.createDocumentFragment(); //创建文档碎片 for(var i=0;i<10000;i++){ var oLi = document.createElement("li"); oFrag.appendChild(oLi); } oUl.appendChild(oFrag); } </script> </head> <body> <ul id="ul1"> </ul> </body> </html>