1. 节点操作
网页中所有的内容都是节点(标签、属性、文本、注释等),在DOM 中,节点使用node 来表示。HTML DOM 树中的所有节点均可通过JavaScript进行访问,所有的HTML元素(节点)均可被修改,可以创建或删除。
1.1 节点概述
一般地,节点只是拥有nodeType(节点类型)、nodeName(节点名称)和nodeValie(节点值)这三个基本属性。
在实际开发中,节点操作主要操作的是元素节点
- 父节点
parentNode属性返回当前节点的父节点。对于一个节点来说,它的父节点只可能是三种类型:元素节点(element)、文档节点(document)和文档片段节点(documentfragment)
<div id="div1">
<div id="div2"></div>
</div>
<script>
// 父节点 parentNode
var d2 = document.getElementById('div2')
console.log(d2.parentNode);
</script>
- 子节点
<ul>
<li></li>
<li></li>
<li></li>
</ul>
<script>
var ul = document.querySelector('ul');
var lis = ul.querySelectorAll('li');
// 1.子节点 childNodes 所有的子节点 包括元素节点 文本节点等
console.log(ul.childNodes);
// 2. children 获取所有的子元素节点(伪数组形式返回) 常用
console.log(ul.children);
// 3. firstChildren 第一个子节点 不管是文本节点还是元素节点
console.log(ul.firstChild);
console.log(ul.lastChild); // 最后一个子节点
// 4. firstElementChild 返回第一个子元素节点
console.log(ul.firstElementChild);
console.log(ul.lastElementChild); // 最后一个子节点
// 5. 返回第一个子元素节点
console.log(ul.children[0