DOM: DOM定义了访问HTML 和XML 文档的标准:
1.核心DOM 针对结构化文档的标准模型
2.XMK DOM 针对XML文档的标准模型
3.HTML DOM 针对HTML文档的标准模型 DOM节点 整个文档是一个文档节点(document对象)
每个html元素是元素节点(element对象)
html元素内的文本是文本节点(text对象)
每个html属性是属性节点(arrtibute对象)
注释是注释节点(comment对象)
html 标签
<div id="XX">XX
<div id="AA">AA
<span id="A1">A1</span>
<span id="A2">A2</span>
<span id="A3">A3</span>
</div>
<div id="BB">BB</div>
<div>CC</div>
</div>
DOM 操作
获取标签对象:
//获取标签对象:
//根据ID获取
var X = document.getElementById('A1'); //根据name获取
var X = document.getElementsByName()[0] //根据classname获取
var X = document.getElementsByClassName()[0] //根据相同标签名获取
var X = document.getElementsByTagName()[0] // 方法返回带有指定名称和命名空间的所有元素的 NodeList。
var X = document.getElementsByTagNameNS()[0]
DOM属性
//DOM属性:
console.log(X.nodeName);//(显示标签名)
// //SPAN
console.log(X.nodeValue);//(显示value)
// // null
console.log(X.innerHTML);//(显示HTML包括标签)
// //A1
console.log(X.innerText);//(显示标签内容)
// //A1
DOM导航属性:
// DOM导航属性:
// 每个节点有 父(parent)、同胞(sibling)、子(child) var X = document.getElementById('AA');
// 父节点(parentNode)
console.log(X.parentNode);
// XX //下一个兄弟标签(nextElementSibling)
console.log(X.nextElementSibling);
//BB //上一个兄弟标签(previousElementSibling)
console.log(X.previousElementSibling); //所有的子元素(childNodes)
console.log(X.childNodes);
// NodeList(7) [text, span#A1, text, span#A2, text, span#A3, text] //第一个子标签(firstElementChild)
console.log(X.firstElementChild); //最后一个子标签(lastElementChild)
console.log(X.lastElementChild);
获取文本
//获取文本
//innerHTML or innerText
console.log(X.innerHTML);
// AA
// <span id="A1">A1</span>
// <span id="A2">A2</span>
// <span id="A3">A3</span> console.log(X.innerText);
// AA A1 A2 A3
层级查询
//层级查询
var X = document.getElementById('AA');
console.log(X.getElementsByTagName('span'));
//注意:层级里面 ID 和 classname 没有