tip: 对页面进行任何操作都需要获取相应的dom对象进行操作,这就是我们所谓的:‘找对象’和’搞对象’
获取元素节点
- 通过document对象调用
var divs = document.getElementsByTagName()
返回的是类数组,参一元素的集合,参一是字符串类型的html元素var ids = document.getElementById()
返回的是dom对象,参一是字符类型的id名var classNames = document.getElementsByClassName()
返回的是类数组,参一类名的集合,参一是字符类型的class(类)名
创建新的html元素(节点)
var para = document.createElement('div');
创建新元素,比如创建div元素var node = document.createTextNode('这是一段文本');
如果需要在标签里添加文本,则需要先创建文本节点。这段代码创建了一个文本节点para.appendChild(node);
把创建好的文本或元素添加就使用appendChild
,这是将参数作为子节点添加到para里body.insertBefore();
这个api需要两个参数,参数一是我们添加的元素,参数二是参照物,意思是将参数一作为参数二的兄弟节点存放在body节点中,存放在兄弟节点中存在于最顶端。
删除已有的HTML元素
parent.removeChild()
删除parent节点下的参数一元素,如果需要这么做,您需要知道你需要删除元素的父元素。
替换HTML元素
parent.replaceChild()
替换效果,参数一是替换的元素,参数二是被替换的元素。parent要是他们的父节点,参数要是parent的子节点
获取元素节点的子节点
- 通过具体的元素节点调用
element.children
返回元素的子元素的集合element.childNodes
返回元素的子节点的数组element.firstChild
表示当前节点的第一个子节点,可能会是空element.lastChild
表示当前节点的最后一个子节点element.getElementsByTagName()
返回当前节点的指定标签名后代节点element.firstElementChild
获取当前元素的第一个子元素 不包括空白(不兼容ie8及以下浏览器)
获取父节点和兄弟节点
- 通过具体的元素节点调用
element.parentNode
返回当前节点的父节点element.previousSibling
返回当前节点的前一个兄弟节点element.previousElementSibling;
返回当前元素的前一个兄弟元素(ie8以下不支持)element.nextSibling
返回当前节点的后一个兄弟节点element.nextElementSibling
返回当前元素的后一个兄弟元素 (ie8以下不支持)