HTML DOM总结
一、HTML DOM节点
节点 : 父、子和同胞
节点也节点之间是有层级关系的
父(parent)、子(child)、同胞(sibling) 等术语用来描述节点与节点之间的关系
- 父级的称为父节点,子级的称为子节点
- 同级的子节点称为同胞,即拥有相同父节点的节点
- 在节点树中,顶端节点称为根(root)
- 除了根其他的每个节点都有父节点
二、HTML DOM方法
方法是你能够执行的动作(比如添加或删除元素)
一些常用的HTML DOM属性
- innerHTML - 节点(元素)的文本值
- parentNode - 节点(元素)的父节点
- childNodes - 节点(元素)的子节点
- attributes - 节点(元素)的属性节点
一些常用的DOM方法
- getElementById(id) - 返回带有指定ID的元素
- getElementsByTagName() - 返回包含带有指定标签名称的对象的集合(是一个数组,所以当选中哪个元素时要加上索引)
- getElementsByClassName() - 返回带有指定类名的所有元素的节点列表(同上,也是一个数组)
- appendChild() - 把新的子节点添加到指定节点的后面
- insertBefore() - 在指定的子节点前面插入新的子节点
- removeChild() - 删除子节点
- replaceChild() - 替换字节点
- createAttribute() - 创建属性节点(比如创建class属性,a的target属性)
- createElement() - 创建元素节点
- createTextNode() - 创建文本节点(想要在某一个元素里面添加文本,则在创建好文本和元素后:元素名:appendChild(文本名))
- getAttribute() - 返回指定的属性值 (如a链接里面的target里的_blank)
- setAttribute() - 把指定属性设置或修改为指定的值
HTML DOM属性
innerHTML属性
获取元素内容最简单的方法就是使用innerHTML属性,可以获取 和替换 HTML元素内容,包括<html> <body>
nodeName属性
nodename属性规定节点的名称
- nodeName 是只读的
- 元素节点,属性节点的nodeName 与标签名,属性名相同
- 文本节点的nodeName 始终是**#text**
- 文档节点的nodeName 始终是**#document**
nodeValue属性
nodeValue属性规定节点的值
- 元素节点的nodeValue是undefined或null
- 文本节点的nodeValue是文本本身
- 属性节点的nodeValue是属性值
nodeType 属性
nodeType 属性返回节点的类型,是只读的
必要重要的节点类型有:
元素类型1 | NodeType |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
文档 | 9 |
HTML DOM 访问
getElementById() 方法
语法
var id = node.getElementById("id");
getElementsByTagName() 方法
语法
<p>Hello World!</p>
<p>DOM 很有用!</p>
<p>本例演示 <b>getElementsByTagName</b> 方法。</p>
<script>
x=document.getElementsByTagName("p");
document.write("第一段的文本: " + x[0].innerHTML); //Hello World!
</script>
getElementsByClassName() 方法
如果您希望查找带有相同类名的所有 HTML 元素,请使用这个方法:
返回的是包含class = "intro"的所有元素的一个列表
语法
document.getElementsByClassName("intro");