- DOM笔记
- 获取元素
- 获取指定元素
- 获取子元素&兄弟元素&父元素
- 获取第一&最后一个子元素
- 节点操作
- 克隆节点 - cloneNode()
- 添加节点 - appendChild()
- 插入节点 - insertBefore()
- 移除节点 - removeChild()
- 创建结构
- document.write()
- element.innerHtml
- document.createElement()
- 标签的自定义属性操作
- setAttribute()
- getAttribute()
- removeAttribute()
- 兼容方法
- innerText兼容写法
- 获取上一个&下一个兄弟元素的兼容写法
- 获取下一个兄弟元素兼容写法
- 获取上一个兄弟元素兼容写法
- 获取第一个子元素&最后一个子元素的兼容写法
- 获取第一个子元素兼容写法
- 获取最后一个子元素兼容写法
- 通过类名获取元素对象的兼容方法
- 事件
获取元素
获取指定元素
document.getElementById
: 通过id寻找一个元素(找到的是一个元素对象) 该方法只能被document对象调用(同一个文档中id不能重复)
var box = document.getElementById(“box”);
document.getElementsByTagName
: 通过标签名寻找一类元素(找到的是由元素对象组成的伪数组,既可以被document调用,又可以被元素对象调用,被元素对象调时表示在该元素对象内部执行查找
var divs = document.getElementsByTagName("div");// 获取页面上所有的div,divs是一个伪数组
var cl = document.getElementById("cl");// 获取id为cl的元素
var cl2s = cl.getElementsByTagName("div");// 获取cl元素下面所有的div标签,cl2s是一个伪数组
document.getElementsByClassName
通过类名寻找包含这个类名的元素
var cls = document.getElementsByClassName("cl");//获取到的是一个伪数组,里面装的是div p span a这四个元素对象(只要标签中的class中有传入的类名就能获取到)
获取子元素&兄弟元素&父元素
element.childNodes
: 获取指定元素的子节点,包括文本节点、元素节点等
element.children
: 获取指定元素的子元素,只会获取元素节点。
element.nextSibling
: 获取指定元素的下一个兄弟节点
element.nextElementSibling
: 获取指定元素的下一个兄弟元素
element.previousSibling
: 获取指定元素的上一个兄弟节点
element.previousElementSibling
: 获取指定元素的上一个兄弟元素
element.parentNode
: 获取元素的父节点,父节点肯定是一个元素
// 通过id获取元素对象
var ul = document.getElementById("list");
// 通过标签名获取元素数组
var lis = ul.getElementsByTagName("li");
// 不关心层级 只找指定标签
// 缺点:如果内部还有li 也会找到
var nodes = ul.childNodes;
//子节点 只找子级
//缺点:除了我们想要的元素节点 还会获取到其他节点
var children = ul.children;//只获取ul下的子元素
var link = document.getElementById("firstlink");
var nextNodeSibling = link.nextSibling; // 获取到的是换行(文本节点)
var nextElementSibling = link.nextElementSibling;//获取到的是下一个li标签
var parentNode = link.parentNode;// 获取到的是ul
获取第一&最后一个子元素
element.firstChild
: 获取指定元素下面的第一个子节点
element.firstElementChild
: 获取指定元素下面的第一个子元素
element.lastChild
: 获取指定元素下面的最后一个子节点
element.lastElementChild
: 获取指定元素下面的最后一个子元素
var firstNode = ul.firstChild;// 获取到的是换行(文本节点)
var firstElement = ul.firstElementChild;// 获取到的是firstlink
var lastNode = ul.lastChild;// 获取到的是换行(文本节点)
var lastElement = ul.lastElementChild;// 获取到的是lastlink
节点操作
克隆节点 - cloneNode()