一、节点选取
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
// 首尾子节点有兼容性问题
// firstChild firstElementChild
// lastChild lastElementChild
// 兄弟节点
// nextSlibing nextElementChild
// previousSibling previousElementsSibling
window.onload = function() {
var oLi = document.getElementById('li1');
var oPre = oLi.previousElementSibling || oLi.previousSibling;
oPre.style.background = "red";
}
</script>
</head>
<body>
<ul id="ul1">
<li></li>
<li id="li1"></li>
<li></li>
</ul>
</body>
</html>
二、dom节点childNodes和nodeType
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
window.onload = function() {
var oUl = document.getElementById('ul1');
// alert(oUl.childNodes[1].nodeType);
var i = 0;
for (i = 0; i < oUl.childNodes.length; i++) {
if (oUl.childNodes[i].nodeType == 1) { //1是指标签节点 3是指文本节点
oUl.childNodes[i].style.background = 'red';
}
}
}
</script>
</head>
<body>
<ul id="ul1">
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
</body>
</html>
三、children是没有兼容问题的childNodes
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
window.onload = function() {
var oUl = document.getElementById('ul1');
// alert(oUl.children.length);
var i = 0;
for (i = 0; i < oUl.children.length; i++) {
oUl.children[i].style.background = 'red';
}
}
</script>
</head>
<body>
<ul id="ul1">
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
</body>
</html>