您好,登錄后才能下訂單哦!
本文實例講述了javascript創建元素和刪除元素。分享給大家供大家參考,具體如下:
動態創建新的DOM元素,是js操作網頁對象模型的重要手段之一。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net 創建新元素</title> <script type="text/javascript"> //創建新元素 function createNewElements(){ //使用innerHTML創建新元素 var p1 = document.getElementById("p1"); //設置innerHTML內容 p1.innerHTML = "<span>我的dom文本1</span>"; //使用createElement來創建新元素 var span = document.createElement("span"); //為新元素內容創建一個文本節點 span.appendChild(document.createTextNode("我的dom文本2")); var p2 = document.getElementById("p2"); //掛接 p2.appendChild(span); } </script> </head> <body > <p> <input type="button" value="創建新元素" onclick="createNewElements()"/> </p> <!--定義為新元素掛接的容器元素--> <p id="p1"></p> <p id="p2"></p> </body> </html>
運行效果:
創建新元素通常有2種方法:
1、直接修改父元素的innerHTML元素;
2、使用createElement()來創建,再用appendChild()進行DOM元素的掛接。
第一種方法用起來較為簡單,也易于理解,但需要修改整個父元素所包含的HTML內容,若父元素原先就包含了一些HTML內容,再進行DOM掛接的話,執行效率會較低;第二種方法相對較為靈活,效率也較高,只是用起來復雜一些。
刪除元素指的是把這個DOM元素徹底刪除,而不是隱藏。通常,使用removeChild()進行刪除是最常見的方法。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net 刪除元素</title> <script type="text/javascript"> //刪除元素 function deleteElement(){ //獲取準備刪除的DOM var del = document.getElementById("del"); //調用刪除函數徹底刪除 del.parentNode.removeChild(del); } </script> </head> <body > <p> <input type="button" value="刪除元素" onclick="deleteElement()"/> </p> <!--定義被刪除的元素--> <span id="del">即將被刪除的DOM</span> </body> </html>
解析:
由于removeChild()是對子元素的操作,而不是自身的刪除。所以,需要先獲取待刪除元素的父元素,然后再調用該函數。本例中,是先使用parentNode屬性獲得待刪除元素的父元素,再刪除目標元素。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>刪除所有的子元素</title> <script type="text/javascript"> //刪除元素的函數 function deleteChilds(){ //獲取父DOM var ul = document.getElementsByTagName('ul')[0]; //判斷是否包含子元素 if (ul.hasChildNodes()) { var len = ul.childNodes.length; //子元素的個數 for (var i = 0; i < len; i++) { //遍歷 ul.removeChild(ul.childNodes[0]);//從第一個元素開始刪除 } } } </script> </head> <body > <ul> <li>item1</li> <li>item2</li> <li>item3</li> <li>item4</li> </ul> </br> <input type="button" value="刪除所有的子元素" onclick="deleteChilds()" /> </body> </html>
解析:刪除子元素,可通過js提供的removeChild()
來實現。此外,需要意識到的另一點是,在遍歷刪除節點的過程中,每刪除一個子元素,子元素的個數就會少一個,因此,示例代碼始終刪除的是第一個子元素,直到沒有任何子元素為止。
注:
document.getElementsByTagName(“ul”)
返回的是一個數組,后面這個0是表示這個數組的第一個元素,而本網頁中ul標簽就一個,因此指的就是這個ul標簽了。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關于JavaScript相關內容可查看本站專題:《JavaScript操作DOM技巧總結》、《JavaScript頁面元素操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。