DOM操作节点

Dom操作:文档对象模型

作用:

** 1、动态操作html元素节点(写特效)**

​ 2、动态元素的样式

​ 3、节点操作

​ 动态操作html元素节点元素(element):

​ 节点的样式操作:

​ 增

​ 删

​ 改

​ 查:读、获取(遍历)

如何获取当前需要操作的元素节点:

​ Dom tree(dom树):root element(html)

​ document.write()

​ document(当前文档的根节点)

​ 节点本质:(组成当前文档的html里面的每一个标签)

​ 节点对象:某一个标签

获取元素的方法:

​ document.getElementById() : 通过id属性获取元素(有且只有一个)

​ document.getElementsByClassName() : [ ] classname(可以有多个类名)

​ document.getElementsByName() : [ ] name 属性 使用场景(表单)

​ document.getElementsByTagName() :[ ] 标签名

​ document.querySlector(selector) : 通过选择器来匹配元素(有且只匹配一个)

​ document.querySlectorAll(selector) : 批量匹配

操作元素的属性(html)

​ 方式1:

​ ·获取元素的属性:元素节点.属性【console.log(imgEles.width)】

​ 设置属性:imgEles.属性(width) =''值”

​ 删除属性:imgEles.属性 = " 空 "

​ 方式2:

​ 获取属性:imgEles.getAttribute("src")

​ 设置属性:imgEles.setAttribute("属性","修改属性的值")

​ 删除属性:imgEles.removeAttuibute(属性)

操作元素的样式属性(css样式)

​ js只能操作css的内联样式属性

​ style属性(元素的内联样式)

​ 设置样式:imgEles.style.css样式属性="值"

​ 获取样式:imgEles.style.css样式(style="")

​ 注意:在js中,设置css属性带杠(-)的属性需要写成小驼峰形式

给元素增加属性

​ 1、ele.className="name"

​ 2、ele.id="value"

​ 3、ele.dataItem="xxx"

元素节点操作:

​ 1、document.createElement(tagName) //节点对象(空标签)

​ 2、document.createTextNode = "value" //创建一个字符串(string) | 文本节点

​ 3、ele.cloneNode(ele) //复制一个节点 节点对象

​ 4、father.appendChild(son) //追加子节点

​ 5、father.insertBefore(son,son1) // 把son1节点追加到son节点后面

​ 6、father.removeChild(son) 删除某一个元素里面的子节点

​ 7、father.replaceChlid( son,son1 ) //把某一个元素里面的son节点替换成son1节点

​ 8、ele.remove(); //移除元素自身节点

​ 9、ele.cloneNode( true|flase ) //复制节点

节点的属性:

​ 1、ele.nodeName //节点名称(div)|(只读)

​ 2、ele.nodeValue //节点的值

​ 3、ele.nodeType //节点的类型 (只读)

​ 4、father.children //获取当前元素的所有子节点

​ 5、ele.fatherNode //获取一个元素的父节点

​ 6、ele.nextSibling //获取元素的下一个兄弟元素

​ 7、ele.previousSibling //获取元素的上一个兄弟元素

​ 8、father.firstChild //获取某个元素的第一个子节点

​ 9、father.lastChlid //获取某个元素的最后一个子节点

设置元素的内容:

​ 1、设置元素的内容:ele.innerText = '值' (只能是双标签)

​ 2、设置元素的内容:ele.innerHtml = '值' (设置html)

​ 3、(1)元素属性添加:ele.id

​ (2)元素属性添加:ele.calssName

js事件:

事件对象:event(关键字)

​ e.preventDefaule():阻止标签的默认行为

​ e.target 触发的元素节点

​ 1、性质:客户端的某个动作行为的瞬间

​ 2、鼠标事件:

​ 鼠标点击:onclick

​ 鼠标双击:ondbclick

​ 鼠标移入:onmouseover

​ onmouseenter:

​ 鼠标移出:onmouseout

​ onmouseenter

​ 鼠标右键:oncontextmenu

​ 3、键盘事件:

​ 按键按下:onkeydown

​ 按键抬起:onkeyup

​ 按下+抬起:onkeypress

​ 4、表单事件:

​ 焦点事件:(1)获取焦点:onfocus

​ (2)失去焦点:onblur

​ 内容变更事件:onchage

​ 表单验证事件:<form onsubmit="return fn() " > </form>

5、滚动条事件:window.onscroll=function(){

​ }

​ 6、移动端事件(touch):

7、页面加载完毕:
    window.onload= function(){

​ }

8、鼠标滚轮事件:
    window.onwheel = function(){

​ }

​ 9、拖拽事件:

​ 10、流媒体事件:

​ 11、屏幕分辨率变更事件:

js事件的绑定:

性质:捕获客户端的动作行为

绑定事件的方式:

​ 1、通过事件的属性来绑定

​ <div onclick='fn()'></div>

​ 2、节点动态属性绑定

​ ele.onclick = function(){

​ }

​ ele.onclick = fn

​ 3、给元素添加事件监听的方式

​ ele.addEventListenaer("类型",方法体,[触发])

​ ele.addEventListenaer("")

​ js事件场景:以冒泡的方式触发(事件嵌套)

​ 阻止超链接的默认行为:

​ <a href="javascript:vaild(0) id=btn">规划设计<>

<a href="javascript:;id=btn">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值