123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <!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>
- </head>
- <body>
- <div id="div1">111111111</div>
- <p id="p1">22222222</p>
- <ul id="ul1">
- <li id="li1">1</li>
- <li>2</li>
- <li>3</li>
- </ul>
- <script>
- var div1 = document.getElementById('div1')
- var p1 = document.getElementById('p1')
- var ul1 = document.getElementById('ul1')
- /* console.log(div1)
- console.log(div1.nodeType)//节点类型
- console.log(div1.nextSibling)// 下一个节点
- console.log(div1.previousSibling)//上一个节点 */
- /*
- document是没有nodeValue的:null
- 元素节点是没有nodeValue的:null
- 属性节点id的nodeValue:d1
- 内容节点的nodeValue:hello HTML DOM
- */
- // console.log(div1.nextElementSibling)//下一个元素节点
- // console.log(div1.previousElementSibling)//上一个元素节点
- // console.log(div1.nodeName)//节点名称
- // console.log(p1.nodeName)
- /*
- 元素节点的 nodeName 与标签名相同
- 属性节点的 nodeName 与属性名相同
- 文本节点的 nodeName #text
- 文档节点的 nodeName #document
- */
- function next(elem){
- do{
- elem = elem.nextSibling
- } while(elem.nodeType != 1)
- return elem
- }
- console.log(next(p1))
- // console.log(ul1.firstChild)
- // console.log(ul1.lastChild)
- // console.log(ul1.firstElementChild)
- function first(elem){
- elem = elem.firstChild
- if(elem.nodeType != 1){
- elem = next(elem)
- }
- return elem
- }
- console.log(first(ul1))
- </script>
- </body>
- </html>
|