站長資訊網
最全最豐富的資訊網站

一文詳解JavaScript之DOM節點導航

本文主要介紹如何利用DOM節點獲取頁面元素,頁面文檔中的所有事物都是節點:包括元素節點、文本節點、屬性節點、文檔節點、注釋節點。下面介紹獲取節點的兩大類方法:

(1)獲取節點(包含文本節點、元素節點等所有節點)

1.parentNode:獲取父節點

2.childNodes:獲取子節點,通過索引值獲取各個子節點

3.firstChild:獲取父節點的第一個子節點

4.lastChild:獲取父節點的最后一個子節點

5.nextSibling:獲取子節點相鄰的下一個兄弟節點

6.previousSibling:獲取子節點相鄰的前一個兄弟節點

7.attributes:獲取屬性節點

<!DOCTYPE html> <html>   <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>由節點關系獲取元素</title>     <style>       </style> </head>   <body>     <div name="div1">         <p name='p1'>文本節點</p>         <p>2</p>         <ul>             <li>3</li>             <li id="li4">4</li>             <li>5</li>             <li>6</li>         </ul>     </div>     <section>7</section>     <main><span>8</span><i>9</i></main>     <script>         //注意換行和空格也屬于結點,屬于文本節點,按節點關系訪問時需要考慮。屬性節點無須考慮。         //1. parentNode獲取div         console.log(document.querySelector('p').parentNode);         console.log(document.querySelector('p').parentNode.attributes[0]);         console.log(document.querySelector('p').parentNode.nodeName); //DIV         console.log(document.querySelector('p').parentNode.nodeValue); //null         console.log(document.querySelector('p').parentNode.nodeType); //1 元素節點         // 2.通過childNodes獲取第一個p         console.log(document.querySelector('div').childNodes[1]);         console.log(document.querySelector('div').childNodes[1].firstChild.nodeName);         console.log(document.querySelector('div').childNodes[1].firstChild.nodeType); //2 文本節點         console.log(document.querySelector('div').childNodes[1].firstChild.nodeValue);         // 3.firstChild獲取main中的第一個子節點         console.log(document.querySelector('main').firstChild);         // 4.lastChild獲取main中的最后一個子節點         console.log(document.querySelector('main').lastChild);         // 5.nextSibling獲取相鄰下一個兄弟元素         console.log(document.querySelector('#li4').nextSibling.nextSibling);         // 6.previousSibling獲取相鄰上一個兄弟元素         console.log(document.querySelector('#li4').previousSibling.previousSibling);         // 總結:除parentNode外,其他方法謹慎選擇,一旦代碼格式有變,就會出現錯誤         // 通過nodeName獲取節點名稱         //通過nodeValue獲取節點值         // 通過nodeType返回節點類型     </script> </body>   </html>

(2)獲取元素節點

1.parentElement:獲取父元素節點

2.children:獲取子元素節點,通過索引值獲取各個子元素節點

3.firstElementChild:獲取父級的第一個子元素節點

4.lastElementChild:獲取父級的最后一個子元素節點

5.nextElementSibling:獲取相鄰的下一個兄弟元素節點

6.previousElementSibling:獲取相鄰的前一個兄弟元素節點

<!DOCTYPE html> <html>   <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>獲取子元素節點</title> </head>   <body>     <div>         <p>123</p>         <p>456</p>         <p>789</p>     </div>     <script>         //p標簽總體算一個節點,內部的“123”不算         console.log(document.querySelector('div').childNodes);         console.log(document.querySelector('div').childNodes.length);         // 獲取子元素節點         console.log(document.querySelector('div').children);         console.log(document.querySelector('div').children[1]);         console.log(document.querySelector('div').firstElementChild);         console.log(document.querySelector('div').firstElementChild.nextElementSibling);         console.log(document.querySelector('div').lastElementChild);         console.log(document.querySelector('div').lastElementChild.previousElementSibling);         console.log(document.querySelector('div').children[1].parentElement);     </script> </body>   </html>

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
精品人妻AV一区二区三区| 九九热在线精品视频| 日韩精品人妻一区二区中文八零| 久九九精品免费视频| 亚洲精品中文字幕无码AV| 午夜精品乱人伦小说区| 精品午夜久久福利大片| 91精品国产综合久久婷婷| 国产精品一区二区av不卡| 人人妻人人做人人爽精品| 日韩视频在线观看| 日韩综合在线观看| 亚洲第一页日韩专区| 国产亚洲Av综合人人澡精品| 国产精品一线二线三线| 精品久久久久久无码人妻| 精品亚洲视频在线| 日韩精品福利在线| 精品无码国产一区二区三区麻豆| 国产精品久久无码一区二区三区网| 人妻无码久久精品人妻| 欧美精品久久久久久精品爆乳| 国产精品香蕉一区二区三区| 国产四虎免费精品视频| 国内精品免费麻豆网站91麻豆| 无码国内精品久久综合88| 亚洲首页国产精品丝袜 | 伊人久99久女女视频精品免| 久久精品国产四虎| 99在线精品免费视频九九视| 99RE6热在线精品视频观看| 国产精品入口在线看麻豆| 92国产精品午夜福利| 亚洲精品亚洲人成在线| 精品久久久久久无码中文字幕一区 | 精品少妇一区二区三区视频| 九九热在线视频观看这里只有精品| 久久青青草原精品影院| 久久久久亚洲精品美女| 99国产精品99久久久久久| 亚洲精品成人网站在线播放|