js常用節(jié)點操作實例總結
一:父節(jié)點
1:返回父節(jié)點
element.parentNode,得到的是離元素最近的父節(jié)點。如果找不到則返回為null
代碼:
<body> <div> <div> <div></div> </div> </div> <script> var divs=document.querySelector(".s") console.log(divs.parentNode); </script> </body>
效果:
二:子節(jié)點
1:返回子節(jié)點
element.children,是一個只讀屬性,返回所有子元素節(jié)點,其余節(jié)點不返回
代碼:
<body> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <script> var ul=document.querySelector("ul") console.log(ul.children); </script> </body>
效果:
2:返回第一個和最后一個子節(jié)點
2.1:
element.firstElementChild,element.lastElementChild分別返回第一個和最后一個子元素節(jié)點,IE9+
代碼:
<body> <ul> <li>我第一</li> <li></li> <li></li> <li></li> <li>我最后</li> </ul> <script> var ul=document.querySelector("ul") console.log(ul.firstElementChild); console.log(ul.lastElementChild); </script> </body>
效果:
2.2:
element.children[0] , element.children[element.children.length-1]分別返回第一個和最后一個子元素節(jié)點
代碼:
<body> <ul> <li>我第一</li> <li></li> <li></li> <li></li> <li>我最后</li> </ul> <script> var ul=document.querySelector("ul") console.log(ul.children[0]); console.log(ul.children[ul.children.length-1]); </script> </body>
效果:
三:兄弟節(jié)點
1:返回兄弟節(jié)點
element.nextElementSibling,返回當前元素下一個兄弟元素節(jié)點,找不到則返回null
element.previousElementSiblig,返回當前元素上一個兄弟元素節(jié)點,找不到則返回null
IE9+
四:創(chuàng)建和添加元素節(jié)點
1:創(chuàng)建元素節(jié)點
1.1:
document.createElement(),動態(tài)創(chuàng)建元素節(jié)點
1.2:
innerHtml,創(chuàng)建節(jié)點
1.3:
document.write,創(chuàng)建節(jié)點,但導致頁面重繪
2:添加節(jié)點
2.1:
fartherelement.appendChild(childelement),將一個節(jié)點添加到指定父節(jié)點的子節(jié)點列表末尾
注意事項:創(chuàng)建和添加元素節(jié)點需要聯(lián)合使用
1&2:
添加前代碼:
<body> <ul> <li>我第一</li> <li></li> <li></li> <li></li> <li>我最后</li> </ul> <script> </script> </body>
效果:
添加后代碼:
<body> <ul> <li>我第一</li> <li></li> <li></li> <li></li> <li>我最后</li> </ul> <script> var ul=document.querySelector("ul") var li=document.createElement("li"); ul.appendChild(li) </script> </body>
注意:appendChild()中無引號。因為:規(guī)定變量或對象是不用加引號的
效果:
2.2:
element.insertBefore(child,指定元素),將一個節(jié)點添加到父節(jié)點指定節(jié)點前面
代碼:
<body> <ul> <li>我第一</li> <li></li> <li></li> <li></li> <li>我最后</li> </ul> <script> var ul=document.querySelector("ul") var li=document.createElement("li"); ul.insertBefore(li,ul.children[0]) </script> </body>
效果:
五:刪除節(jié)點
1:刪除元素節(jié)點
element.removeChild()
代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style type="text/css"> button{ width: 100px; height: 100px; } </style> </head> <body> <button></button> <ul> <li>我第一</li> <li></li> <li></li> <li></li> <li>我最后</li> </ul> <script> var button=document.querySelector("button") var ul=document.querySelector("ul") button.onclick=function(){ ul.removeChild(ul.children[0]) } </script> </body> </html>
六:克隆節(jié)點
1:克隆節(jié)點(元素或文本)
element.cloneNode(),括號參數為空或者為false則為淺拷貝,只復制標簽。括號參數為ture則復制標簽和里面的內容??寺」?jié)點需要和添加節(jié)點一起使用
感興趣的朋友可以使用本站在線工具: http://tools.jb51.net/code/HtmlJsRun 測試上述代碼運行效果~
相關文章
JavaScript中async和await的使用及隊列詳情
這篇文章主要介紹了JavaScript中async和await的使用及隊列詳情,主要圍繞js中async和await簡單解析展開面試中可能會問到的關于隊列的一些場景和知識點,需要的朋友可以參考一下2022-07-07