JS——DOM操作(createElement、appendChild、insertBefore、removeChild的用法,及todolist案例)


(1)createElement(標簽名)、appendChild(節點)的用法

講解:

(1)語法:document.createElement(nodename) 【參數nodename為節點對象元素,必須】 即:該方法通過指定名稱創建一個元素(創建一個節點)

(2)語法:node.appendChild(node) 【參數node為節點對象,必須】即:該方法可向節點的子節點列表的末尾添加新的子節點追加一個節點

z

用原生js方法,簡單制作todolist案例    

//可以參考本人之前做過的vue中的todolist案例,鏈接:https://www.cnblogs.com/ytraister/p/10534181.html

演示效果如下圖:

 

 

顯示代碼如下:

 

代碼解釋:

第15行代碼:當點擊按鈕觸發,創建li元素

第18行代碼:把li元素添加到ul元素之后

第17行代碼:把輸入的文本的值添加到相應的li元素當中

第20行代碼:把表單中的文本內容清空(即:文本的值為空值)

 

(2)insertBefore

更新新案例,同上操作,只不過把最新的li輸入文本放在首位顯示

新增語法操作:insertBefore    【在已有元素前插入】

語法說明: 父類.insertBefore(要插入的子類,要添加新的子類前的子節點)   或者理解為:insertBefore(節點,原有節點)  
 

效果如下圖:

 

代碼如下圖:

代碼解釋:

第16行代碼:獲取已創建的lli元素

第19行代碼:更新文本到最前面的位置  類似論壇發文的操作,新文章位列在前的例子     

      insertBefore的語法說明:父類.insertBefore(要插入的子類,要添加新的子類前的子節點)
 
 
但是最完整的寫法應該是這樣的,如下圖顯示:

對已創建的li元素進行判斷(即第16行代碼所獲取的li元素)

當ul中沒有li元素時,執行if判斷語句(即第19行代碼),讓li元素添加到ul當中(即第20行代碼);

否則,把新加入的li元素添加到li元素的上一個節點(即第23行代碼)

 

 

(3)刪除DOM元素方法:

removeChild(節點)  【刪除一個節點】

案例效果如下圖:

代碼如下圖:

 

解釋代碼如下:

第15行代碼中的removeChild()方法是用來刪除節點的,括號中的節點為“this.parentNode”,this表示為當前觸發的a元素,parentNode表示為父元素。

結合起來表示為:但觸發a元素點擊事件,刪除ul元素中的a元素的父元素li


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM