js中获取节点和针对节点的操作以及类名操作
获取节点
- 孩子节点
-
childNodes
获取所有子元素节点和文本节点 -
children
获取所有子元素节点 -
firstChild
获取第一个子元素节点或文本节点 -
firstElementChild
获取第一个子元素节点 -
lastChild
获取最后一个子元素节点或文本节点 -
lastElementChild
获取最后一个子元素节点
- 父节点
-
parentNode
获取父节点 -
parentElement
获取父节点,用于ie浏览器
- 兄弟节点
-
previousSibling
获取前一个文本节点和元素节点 -
previousElementSibling
获取前一个元素节点 -
nextSibling
获取下一个元素节点和文本节点 -
nextElementSibling
获取下一个元素节点
- 文本节点
-
innerText
获取该元素和其所有子元素的文本,当设置时会以指定文本替代其所有子节点 -
innerHTML
获取该元素的所有内容,当设置时会以指定内容替代其所有子节点,区别于innerText
,innerHTML
会渲染文本中的html标签,而innerText
则原样输出文本 -
outerText
获取文本时与innerText
一致,当设置文本时,会将包含当前元素及其子元素全部被指定文本代替,而innerText
只会将指定文本将该元素的子元素代替 -
outerHTML
获取时,会得到包含当前元素及其子元素,而设置时会将指定内容代替当前元素及其子元素,区别于outerText
,outerHTML在进行设置时会渲染文本中的html,而outerText
则会原样插入 -
textContent
效果同innerText
一致,获取所有子元素的文本内容 -
value
获取input值
节点操作
- 创建节点
-
document.createElement
创建元素节点 -
document.createTextNode
创建文本节点 -
document.createAttribute
创建属性节点 -
元素节点对象.setAttribute(属性名,属性值)
创建或修改元素对象对应属性的属性值
- 删除节点
-
父节点对象.removeChild
删除指定节点对象的某个子节点 -
父节点对象.removeAttribute
删除指定节点对象的属性节点
- 替换节点
-
父节点对象.replaceChild(新子节点对象,被代替的子节点对象))
将指定的新子节点对象代替指定节点对象的子节点对象
- 插入节点
-
父节点对象.appendChild
将指定节点插入到父节点对象的最后一个子节点尾部 -
父节点对象.insertBefore(将插入的子节点对象,被插入的子节点对象)
将指定节点插入到父节点的指定子节点前面
- 获取节点
-
document.getElementById
根据节点的id值获得指定节点对象 -
document.getElementsByClassName
根据节点的类名获得指定节点对象集合 -
document.getElementsByTagName
根据节点的标签名获得指定节点对象集合 -
document.getElementsByName
根据节点的name属性的属性值获得指定节点对象集合 -
document.querySelector
根据选择器名称获取指定节点对象 -
document.querySelectorAll
根据选择器名称获取指定节点对象集合 -
document.forms
获取html中的form标签对象集合 -
document.documentElement
获取html标签对象 -
document.body
获取body标签对象 -
元素节点对象.getAttribute
获取元素节点对象的指定属性的属性值
- 克隆节点
-
元素节点对象.cloneNode(true)
若参数为true,克隆包含了属性和第一个子文本的元素节点对象,若为false,则克隆包含了属性的空元素节点对象,注意无论true还是false,都会克隆元素节点对象的属性
节点属性
-
节点对象.nodeName
获取节点名称 -
节点对象.nodeType
获取节点类型
- 节点类型
-
元素节点
nodeType ==1
-
属性节点
nodeType ==2
-
文本节点
nodeType ==3
类名操作
- 获取类
-
元素节点对象.className
获取或设置对于元素节点对象的类名字符串 -
元素节点对象.classList
获取元素节点的类的伪数组 -
元素节点对象.classList.value
等价于className
- 添加类
-
元素节点对象.classList.add
为元素节点对象添加指定的类名
- 删除类
-
元素节点对象.classList.remove
为元素节点对象删除指定的类名
- 替换类
-
元素节点对象.classList.toggle
若元素节点对象有指定类,则删除该类名,若没有则添加该类名 -
元素节点对象.classList.replace(旧类名,替换的类名)
为元素节点对象删除指定的类名,注意与之前的那些区别开,第一个参数旧类名,第二个参数是新类名
- 查找类
-
元素节点对象.classList.contains
为元素节点对象查找指定的类名,返回布尔值 -
元素节点对象.classList.item
根据指定的number类型参数,返回元素节点对象指定的下标值对应的类名