//补充 document.getElementById(\"test\").childElementCount; 可以直接获取长度 同length
4.获取第⼀个⼦节点
//会匹配换⾏和空格信息
var getFirstChild = document.getElementById(\"test\").firstChild;
//不会匹配换⾏和空格信息
var getFirstChild = document.getElementById(\"test\").firstElementChild;
5.获取最后⼀个⼦节点
//lastChild获取最后⼀个⼦节点的⽅式其实和firstChild是类似的。
//会匹配换⾏和空格信息
var getLastChildA = document.getElementById(\"test\").lastChild;
//不会匹配换⾏和空格信息
var getLastChildB = document.getElementById(\"test\").lastElementChild;
2.获取⽗节点的⽅式
1. parentNode获取⽗节点
获取的是当前元素的直接⽗元素。parentNode是w3c的标准。
var p = document.getElementById(\"test\").parentNode;
2. parentElement获取⽗节点
parentElement和parentNode⼀样,只是parentElement是ie的标准。var p1 = document.getElementById(\"test\").parentElement;
3. offsetParent获取所有⽗节点
⼀看offset我们就知道是偏移量 其实这个是于位置有关的上下级 ,直接能够获取到所有⽗亲节点, 这个对应的值是body下的所有节点信息。
var p2 = document.getElementById(\"test\").offsetParent;
3.获取兄弟节点的⽅式
1. 通过获取⽗亲节点再获取⼦节点来获取兄弟节点
var brother1 = document.getElementById(\"test\").parentNode.children[1];
2. 获取上⼀个兄弟节点
在获取前⼀个兄弟节点的时候可以使⽤previousSibling和previousElementSibling。他们的区别是previousSibling会匹配字符,包括换⾏和空格,⽽不是节点。previousElementSibling则直接匹配节点。
var brother2 = document.getElementById(\"test\").previousElementSibling;var brother3 = document.getElementById(\"test\").previousSibling;
3. 获取下⼀个兄弟节点
同previousSibling和previousElementSibling,nextSibling和nextElementSibling也是类似的。var brother4 = document.getElementById(\"test\").nextElementSibling;var brother5 = document.getElementById(\"test\").nextSibling;
$('#id').siblings() 当前元素所有的兄弟节点$('#id').prev() 当前元素前⼀个兄弟节点
$('#id').prevaAll() 当前元素之前所有的兄弟节点$('#id').next() 当前元素之后第⼀个兄弟节点$('#id').nextAll() 当前元素之后所有的兄弟节点