document和node的区别:
通过document查询页面节点 是整个浏览器的内容 而通过node查询的则是节点里面的内容 查询的范围是不同的,node的范围比较小,不支持通过id查找(getElementbyId,getElementbyname)
节点方法 (节点的增:增加 (appendchild,insertbefore)删:删除改:修改
(以上这些操作都要基于父节点进行)
查:查询)
-getAttribute 读取用户自定义属性
-setAttribute 设置或者修改自定义属性
-removeAttribute (直接移除整个属性,属性值也会移除)
-hasAttribute检测是否含有这个属性
-自定义属性操作方法 这些都是用在非html标准属性的,也可以用在标准属性,但没必要
文本高亮效果:
-用node.hasAttribute() 来判断里面是否有这个属性
-用node.setAttribute()来创建属性
-用node.removeAttribute()来移除属性
节点对象的查询方法:
节点的插入操作:
-node.appendChild() 在最后一个元素后面插入
-node.insertBefore()在每一个子元素之前插入,就是不可以在最后一个元素的后面进行
这两个方法可以在元素的任意位置实现插入,添加操作
节点删除
通过父节点(parentNode.removechild)进行添加删除插入操作
节点替换
节点克隆 node.cloneNode()
深浅复制:在对象里面和在dom里面是不一样的 这个是在dom里面
子节点的检测 node.hasChildNodes()
-chidNodes子节点
节点关联查询
-node.parentNode 查询父节点
-node.childNodes 所有的子节点 返回的是一个集合
-node.children 只返回子元素节点 其余的空文本节点不会显示
-node.firstChild 返回的是第一个子元素 空文本
-node.lastChild 返回的最后一个子元素 空文本
-node.firstElementChild 返回的是第一个子元素节点
-node.lastElementChild 返回最后一个子元素节点
-查找兄弟节点
-node.firstChild 不会去除空白文本节点
-node.firstElementChild (只过滤出元素,然后进行查询)
-node.previousSibling 前一个
-node.previousElementSibling 前一个元素节点(这里是去掉了空白标签的)
-节点样式操作
-style样式
-node.style
-node.cssText
-css计算样式
-window.getComputedStyle() window可省略
-绑定类样式
-node.className
-node.classList
节点样式操作:
-getcomputestyle 读取css计算样式集合 css样式表声明的样式,不在style中
-要以驼峰的形式来书写
-cssText以css格式化写入,相当于简写 缺点:会直接替代内联里面原有的值,不便于后面的修改