文档对象模型DOM(二)
时间:2026-06-05 15:53:49
来源:幸福记忆
作者:远方
阅读:114
一、标签元素操作
#返回元素的标签名(大写)
element.tagName
#返回 NodeList 中位于指定下标的节点。
nodelist.item()
#返回该节点的大写字母标签名
element.nodeName
#返回该结点的节点类型,1表示元素节点 2表示属性节点 3表示文本节点
element.nodeType
#返回该节点的value值,元素节点的该值为null
element.nodeValue
#返回元素的子节点的nodeslist对象,nodelist类似于数组,
有length属性,可以使用方括号 [index] 访问指定索引的值
(也可以使用item(index)方法)。但nodelist并不是数组
element.childNodes
================创建元素===============
#创建一个新元素
document.createElement('元素名称')
#添加元素到指定位置(向元素添加新的子节点)
element.appendChild(nodeName)
#在指定的已有的子节点之前插入新节点
element.insertBefore(insertNode,appointedNode)
=================删除元素===============
element.removeChild(childElement)
================修改元素(替换)=========
element.replaceChild(newNode,replaceNode)
================查找元素==============
#通过子元素查找父元素
element.parentNode
#查找同级元素的前一个或后一个元素(不包含文本和属性节点)
element.previousElementSibling
element.nextElementSibling
#查找某个元素内的第一个或最后一个子元素
element.firstElementChild
element.lastElementChild
#返回子元素的个数
element.childElementCount
二、获取元素的其他信息
#返回内容的可视高度/宽度(不包括边框,边距或滚动条)
element.clientHeight/clientWidth
#返回元素的高度/宽度/相对于父元素的左偏移/右偏移
(包括边框和填充,不包括边距)
element.offsetHeight/offsetWidth/offsetLeft/offsetTop
#返回整个元素的高度(包括带滚动条的隐蔽的地方)
/宽度/返回当前视图中的实际元素的左边缘和左边缘之间的距离/上边缘的距离
scrollLeft/scrollTop:在父元素身上,用于获取内部元素滚动后被隐藏的距离。
element.scrollHeight/scrollWidth/scrollLeft/scrollTop
三、事件
能够被js监听的操作称为“事件”。在这些操作行为上绑定的函数,驱动的任务。
1、js中的常用事件
1.1 -文档加载完成触发的事件(文档就绪)
window.onload
案例:
//文档就绪,文档载入完成后触发该事件
window.onload = function() {
let dvObj = document.getElementsByTagName("div")[0];
alert(dvObj.innerText);
}
1.2 -单击事件,元素被左键单击时触发
element.onclick
1.3 -双击事件
element.ondblclick
1.4 -表单控件中的值修改后触发
element.onchange
1.5 -输入框值发生变化时触发
element.oninput
1.6 -获取焦点(获得光标)/失去焦点(失去光标)
element.onfocus 元素获得焦点
element.onblur 元素失去焦点
四、事件
能够被js监听的操作称为“事件”。在这些操作行为上绑定的函数,驱动的任务。
1、js中的常用事件
1.1 -文档加载完成触发的事件(文档就绪)
window.onload
案例:
//文档就绪,文档载入完成后触发该事件
window.onload = function() {
let dvObj = document.getElementsByTagName("div")[0];
alert(dvObj.innerText);
}
1.2 -单击事件,元素被左键单击时触发
element.onclick
1.3 -双击事件
element.ondblclick
1.4 -表单控件中的值修改后触发
element.onchange
1.5 -输入框值发生变化时触发
element.oninput
1.6 -获取焦点(获得光标)/失去焦点(失去光标)
element.onfocus 元素获得焦点
element.onblur 元素失去焦点
1.7 -重置按钮被点击(表单重置触发),绑定在表单上
element.onreset
1.8 -提交按钮被点击(表单提交触发),绑定在表单上
element.onsubmit
1.9 -键盘相关事件
onkeydown 某个键盘的键被按下
onkeypress 某个键盘的键被按下或按住
onkeyup 某个键盘的键被松开
1.10 -鼠标相关事件
onmousedown 某个鼠标按键被按下
onmousemove 鼠标被移动
onmouseout 鼠标从某元素移开
onmouseover 鼠标被移到某元素之上
onmouseup 某个鼠标按键被松开
1.11 -窗口或框架被调整尺寸触发
element.onresize
2、事件对象event
在触发事件时,会伴随产生一个事件对象。
2.1、默认事件
某个元素触发事件后伴随的默认行为。
#取消事件的默认动作
event.preventDefault();
2.2、事件冒泡
由于元素之间产生嵌套关系,导致内部元素触发的事件从内到外依次产生。
#取消事件冒泡,不再派发事件
event.stopPropagation();
2.3、事件委托
出现元素嵌套的情况下,对所有嵌套元素绑定事件,通常是通过循环绑定。事件
委托就是通过将事件绑定在父元素身上,当某个子元素触发事件时,由父元素的
绑定事件处理。即将子元素的事件委托给父元素。
#在父元素触发事件时,可以通过target定位具体的子元素
event.target
2.4、其他属性
#从鼠标左中右键按顺序chrome,ff,ie中event.which的值分别是1,2,3
event.which
案例:
window.onmousedown = function(event) {
console.log(event.which);
}
#返回当事件被触发时鼠标指针相对于浏览器页面水平/垂直坐标
event.clientX/clientY
#返回事件发生时鼠标指针相对于屏幕的水平坐标/垂直坐标
event.screenX/screenY
#返回事件发生时鼠标指针相对于元素上的水平坐标/垂直坐标
event.offsetX/offsetY
#事件触发时,返回 Unicode 字符码(键盘码)
event.keyCode //不区分大小写
event.key //key的字符表示
#事件发生时,返回鼠标指针位置相对于父文档的 x 像素坐标/y 像素坐标
event.x/y
五、定时器
1、setInterval/clearInterval
# -方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
(每隔多少毫秒执行一次),返回定时id,可用于停止
let id = setInterval(function,毫秒数)
# -停止setInterval的定时任务
clearInterval(id)
=====================================================
案例:
//倒数: 10...0
let n = 10;
let invId = setInterval(()=>{
//当n为0时,停止当前的定时任务
if(n==0) {
clearInterval(invId)
}
document.write(n--);
}, 1000);
2、setTimeout()/clearTimeout()
#方法用于在指定的毫秒数后调用函数或计算表达式。
(在多少毫秒之后执行一次)----延迟执行
setTimeout()
#方法可取消由 setTimeout() 方法设置的 timeout。
clearTimeout()
=====================================================
案例:5秒后在span标签内显示hello world
setTimeout(()=>{
document.getElementsByTagName("span")[0].innerText = "hello world!!!";
},5000)