JS中的DOM节点


  • 11111

  • 2222

  • 3
  • 4
  • 5
  • 6
var list = document.querySelector('ul')

获取子节点(children)

console.log(list.children);//[li, li, li, li, li, li]

父节点.children会拿到一个所有子节点的数组,具体用哪个直接用数组的方法获取父节点.children[1]

   console.log( list.firstElementChild);//获取第一个子节点
    console.log( list.lastElementChild);//获取最后一个子节点

父节点(parentNode/parentElement)

parentNode

获取的是当前元素的直接父元素。parentNode是w3c的标准。

  
111
231
123
421
console.log(span.parentNode);

parentElement

parentElement和parentNode获取的东西是一样的,只是parentElement是ie的标准。

111
console.log(span.parentElement);

兄弟节点(previousElementSibling/nextElementSibling) 

231
111
123
421

通过获取父亲节点再获取子节点来获取兄弟节点

var a =span.parentElement.children[1]

获取上一个兄弟节点(previousElementSibling/previousSibling)

previousElementSibling就是单纯的获取元素的节点,区别是previousSibling会匹配字符,包括换行和空格,而不是节点

 console.log(span.previousElementSibling);//
231
console.log(span.previousSibling);//#text

获取下一个兄弟节点

同previousSibling和previousElementSibling,nextSibling和nextElementSibling也是类似的。

 console.log(span.nextElementSibling);//
123
console.log(span.nextSibling);//#text



js