一、DOM树
DOM树有两种,分别为节点树和元素树。
节点树:把文档中所有的内容都看成树上的节点;
元素树:仅把文档中的所有标签看成树上的节点。
二、DOM常用操作
2.1 查找节点
document.getElementById(id属性值);
返回拥有指定id的第一个对象的引用
document/element.getElementsByClassName(class属性值);
返回拥有指定class的对象集合
document/element.getElementsByTagName(标签名);
返回拥有指定标签名的对象集合
document.getElementsByName( ame属性值);
返回拥有指定名称的对象结合
document/element.querySelector(CSS选择器);
仅返回第一个匹配的元素
document/element.querySelectorAll(CSS选择器);
返回所有匹配的元素
document.documentElement
获取页面中的HTML标签
document.body
获取页面中的BODY标签
document.all[\]
获取页面中的所有元素节点的对象集合型
2.2 新建节点
document.createElement(元素名);
创建新的元素节点
document.createAttribute(属性名);
创建新的属性节点
document.createTextNode(文本内容);
创建新的文本节点
document.createComment(注释节点);
创建新的注释节点
document.createDocumentFragment( );
创建文档片段节点
2.3 添加新节点
parent.appendChild( element/txt/comment/fragment );
向父节点的最后一个子节点后追加新节点
parent.insertBefore( newChild, existingChild );
向父节点的某个特定子节点之前插入新节点
element.setAttributeNode( attributeName );
给元素增加属性节点
element.setAttribute( attributeName, attributeValue );
给元素增加指定属性,并设定属性值
@ css派生选择器有几种?
基本选择器
1.标签选择器:直接用元素的标签来进行选择
span { // 直接选择span标签
size:16px;
}
1
2
3
1
2
3
2.ID选择器:通过设置id名字,进行精确的选择,用#来定义
# div1 { //通过id名字来进行选择
color:red;
}
<div>1</div>
1
2
3
4
1
2
3
4
3.类选择器:通过类名来进行选择,选择范围比id选择器大,用’.来定义
.div1 { //所有类名为div1的都被选择了
color:red;
}
<div>1</div>
<div>1</div>
<div>1</div>
1
2
3
4
5
6
1
2
3
4
5
6
4.通配符选择器:范围更大,作用于所有标签,用*来定义
不建议使用,对页面加载负担大
高级选择器
1.后代选择器:定义用空格隔开
div span { //选择的是div标签下的span标签,当然后代顾名思义可以不止隔一代,可以隔多代进行选择
color:red;
}
<div><span>1</span></div>
1
2
3
4
1
2
3
4
2.交集选择器:与后代选择器定义的不同是,没有空格隔开,两个元素紧挨着
span#a1 { //选择的是两个条件1.既是span标签的 2.id名是a1的元素,两个条件缺一不可
color:red;
}
<span id=“a1”>1</span>
<span >1</span>
1
2
3
4
5
1
2
3
4
5
3.并集选择器:定义用逗号隔开
span,#a1 { //选择的是1.是span标签的 2.id名是a1的元素,两个条件满足一个即可
color:red;
}
<span id=“a1”>1</span>
<span >1</span>
1
2
3
4
5
1
2
3
4
5
4.伪类选择器:
1.静态伪类:点击连接之前(link),点击连接之后(visited)这样的
2.动态伪类:鼠标移入(hover),点击之后(focus)
@ css选择器中后代选择器与子选择器的区别?
css后代选择器和子选择器的区别介绍:
1 css后代选择器语法:h1 em {color:red;} 表示的是从h1开始里面包含的所有的em元素变成红色,h1为祖先,其他的em都是后代,即选中后代,不管是儿子还是孙子,只要是都会被选中,为后代选择器。2、css子元素选择器语法:h1>em{color:red;} 表示的是从h1开始里面的第一层em元素变成红色,h1为祖先,em为儿子,就像世袭制一样,只能传给儿子,孙子和其他堂亲都不行
@ css怎么设置class的优先级?
样式权值设定
1. 内联样式表的权值最高 1000;
2. ID 选择器的权值为 100
3. Class 类选择器的权值为 10
4. HTML 标签选择器的权值为 1
5 继承样式的权值为0.1
举例
< class a>
< class b>
<class c >
直接用 .c(类)选择器 它的权值只有10 ,
用 .a .b .c来选择,则它的权值为10+10+10。
如果觉得《css选择器和权值计算 dom操作 – CSS – 前端 boxshadow css》对你有帮助,请点赞、收藏,并留下你的观点哦!