■ 节点操作
一般地,节点至少拥有以下三个基本属性
- nodeType
- nodeName
- nodeValue
不同类型的节点,对应的nodeType值是不一样的
- 元素节点:nodeType=1
- 属性节点:nodeType=2
- 文本节点: nodeType=3,文本节点包含文字,空格,换行等
注:实际开发中,节点操作主要操作的是元素节点
■ 节点层级
利用DOM树可以把节点划分为不同的层级关系,常见是父子兄弟层级关系
■ 父节点
通过node.parentNode属性,可返回某节点的父节点
注意是最近的一个父亲节点, 找不到则返回null
<body>
<div class='demo'>
<div class='box'>
<span class='sub_box'>x</span>
</div>
</div>
<script>
var sub_box = document.querySelector('.box');
console.log(sub_box.parentNode); //输出:获取父节点box
</script>
</body>
■ 子节点
通过childNodes属性,可以返回指定节点的子节点集合,该集合为即时更新的集合
返回值里面包含了所有的子节点,包括元素节点,文本节点等
如果只想要获得里面的元素节点,则需要专门处理,所以一般不提倡使用childNodes
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ol>
<li>1</li>
<li>2</li>
<li>3</li>
</ol>
<div class='demo'>
<div class