Java系列课程第三十六天 (DOM节点操作、事件对象与BOM)

Day36 DOM节点操作、事件对象与BOM

1.节点操作
(1)、什么是节点
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
整个文档是一个文档节点 document
每个 HTML 元素是元素节点
HTML 元素内的文本是文本节点
每个 HTML 属性是属性节点
注释是注释节点
(2)、节点类型
通过noteType属性可以获取节点的类型
document的节点类型—9
console.log(document.nodeType);//9
标签的节点类型—1
var box1 = document.getElementById(“box1”);
console.log(box1.nodeType);//1
属性的节点类型—2,getAttributeNode(“属性”):获取元素的属性节点
var attr1 = box1.getAttributeNode(“class”);
console.log(attr1.nodeType);//2
文本的节点类型—3,元素的第一个子节点就是文本节点
console.log(box1.firstChild.nodeType);//3
(3)、节点名称
通过nodeName可以获取元素的节点名称。
document的节点名称—#document
console.log(document.nodeName);//#document
标签的节点名称—大写的标签名
console.log(box1.nodeName);//DIV
属性的节点名称—属性名
console.log(attr1.nodeName);//class
文本的节点名称—#text
console.log(box1.firstChild.nodeName);//#text
(4)、节点值
通过nodeValue可以获取元素的节点的值。
document的节点值—null
console.log(document.nodeValue);//null
标签的节点值—null
console.log(box1.nodeValue);//null
属性的节点值—属性值
console.log(attr1.nodeValue);//boxCl
文本的节点值—文本的内容
console.log(box1.firstChild.nodeValue);//我是div元素
2.节点之间的关系
(1)、HTML DOM 节点树
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
在这里插入图片描述
通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。
(2)、节点之间的关系
节点之间的关系就是嵌套关系(父子关系)、并列关系(兄弟关系)。注意区分节点与元素节点之间的区别。
父节点–parentNode
父元素节点–parentElement
子节点–childNodes:标签节点、文本节点、注释节点 得到的是伪数组
子元素节点–children :标签节点
第一个子节点–firstChild:文本
第一个子元素节点–firstElementChild:第一个标签
最后一个子节点–lastChild:文本
最后一个子元素节点–lastElementChild: 最后一个标签
上一个子节点–previousSibling:文本
上一个子元素节点–previousElementSibling: 上一个标签
下一个子节点 --nextSibling:文本
下一个子元素节点–nextElementSibling: 下一个标签
总结:firstChild、lastChild、previousSibling、nextSibling获取到的都是文本,如果没有就是文本节点名称#text, firstElementChild、lastElementChild、previousElementSibling、nextElementSibling获取到的都是标签,如果没有就是空。
(3)、节点隔行换色
我们之前学过的隔行换色都是通过遍历伪数组然后奇偶数判断,或者循环累加时+2等,现在我是利用节点之间的关系以及节点的名称值等实现隔行换色的效果
第一种:奇偶数判断
for (var i = 0; i < liObj.length; i++) {
if (i % 2 == 0) {
liObj[i].style.backgroundColor = “red”;
}
}
第二种:累加2
for (var i = 0; i < liObj.length; i += 2) {
liObj[i].style.backgroundColor = “red”;
}
第三种:子元素节点
for (var i =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值