网页节点node分类
1标签
2属性
3文本
4注释
HTML元素是元素节点
尽量使用getelebysomeone查找效率高
条件复杂使用queryselector查找
每一个节点都不是独立的可以相互访问
元素是开始标签加内容加结束标签
DOM的节点在逻辑上呈现树状连接
节点的父子关系
节点.parentNode可以返回指定的节点在DOM树中的父节点.可以在后面无限接力,一直往上找
节点.parentElement 返回当前节点的父元素节点,如果该元素没有父节点,或者父节点不是一个 DOM 元素,则返回 null。
有父节点当然就有子节点
node.childNode 返回包含指定节点的子节点的集合,该集合为即时更新的集合,childNodes:获取包含文本节点的所有子节点,空格也算文本#text
而Element.children是一个只读属性,它返回的是一个node的子element,是一个动态更新的HTMLcollection集合
Node.fristchild返回的是树中节点的第一个子节点,它是一个只读属性,如果这个节点没有子节点,它就返回null
element.firstelementchild它返回的是第一个子元素跟楼上的有区别的哦,没有子元素的话它也返回null
Node.lastchild,只读,返回当前节点的最后一个子节点。如果父元素是元素节点,子元素一般也是元素节点或文本节点或注释节点
Element.lastElementChild返回对象最后一个子元素,如果没有就返回null
节点关系之兄弟关系
Node.previousSibling返回到当前节点的前一个兄弟节点,没有返回null
元素返回的是null
childElementCount
子节点数
注意:所有获取返回的是集合的,请加上具体下标,否则返回undefined
previousSibling
返回当前节点的前一个兄弟节点,没有返回null
节点.previousSibling
会识别标签中的空格,也就是文本节点
NonDocumentTypeChildNode.previousElementSibling
获取上一个节点,只可读,返回当前元素在其父元素的子元素节点中的前一个元素节点,如果该元素已经是第一个元素节点,则返回null
如果这个元素已经是第一个元素节点,则返回null
document。querySelector(’点类名‘)。previousElementSibling
Node.nextSibling返回父节点的childNodes列表中紧跟在后的的节点,如果指定的节点就是最后的节点会返回null
获取当前节点的下一个节点
节点.nextSibling
会识别标签中的空格,也就是文本节点
NonDocumentTypeChildNode.nextElementSibling
返回当前元素的父元素的子元素节点的下一个元素节点,不考虑空格,如果它就是最后一个节点,返回null
childElementCount
子节点数
innerText属性表示一个节点及其后代的“渲染”文本内容。
操作 文本 内容
获取:元素.innerText
设置:元素.innerText='新内容';会自动显示HTML的标签
操作 超文本 内容(HTML内容)
获取:元素(element).innerHTML
设置:元素.innerHTML='新内容'
innerHTML属性设置或获取HTML语法表示的元素的后代。文本子节点中的特殊符号会被它改成编码发回来&<>会变成&, < 和 >
DOM的一般流程
1找到要触发的事件
2绑定事件处理函数
3查找要修改的元素
4修改元素
补充知识点,后期只要是处理函数的事件绑定获取元素,都需要先定义一个变量接受this
——————————————————————————————————————————————————————————————————————————————————————
遍历所有的节点
今天很冷,但是他的城市今天很热。