1.获取DOM元素
document.querySelector(".green");
document.querySelectorAll(“li”)[0];
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.red{
color: red;
}
.green{
color: green;
}
.blue{
color: blue;
}
</style>
</head>
<body>
<ul>
<li>请选择</li>
<li class="red">前端</li>
<li class="green">java</li>
<li class="blue">javascript</li>
<li id="c">c++</li>
</ul>
<script>
/*获取第一个li标签*/
window.function(){
/*ElementsByTagName获取的是数组*/
/*索引:不直观 以后的数据都是从后台动态获取,前台动态生成添加*/
/*var cli=document.getElementsByTagName("li")[1];
console.log(cli);*/
/*query:查询 Selector:选择器 querySelector(传入选择器名称)*/
/*querySelector:获取单个元素,如果获取的元素不止一个,那么只会返回满足条件的第一个元素*/
/*参数要求:如果是类选择器,必须添加. 如果是id选择器, 必须添加# ,否则当成标签处理*/
var javaLi=document.querySelector(".green");
//var javaLi=document.querySelector("#c");
console.log(javaLi);
/*querySelectorAll获取满足条件的所有元素--数组*/
var allLi=document.querySelectorAll("li")[0];
console.log(allLi);
}
</script>
</body>
</html>
2.新增类样式操作
a) Node.classList.add(‘class’) 添加class
b) Node.classList.remove(‘class’) 移除class
c) Node.classList.toggle(‘class’) 切换class,有则移除,无则添加
d) Node.classList.contains(‘class’) 检测是否存在class
案例:
需求:
a.为第一个li元素添加样式,
b.为第二个li元素移除样式,
c.为第三个li元素切换样式,
d.判断第四个li元素是否包含某个样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.red{
color:red
}
.green{
color: green;
}
.blue{
color: blue;
}
.underline{
text-decoration: underline;
}
</style>
</head>
<body>
<ul>
<li class="red">前端与移动开发</li>
<li class="blue">java</li>
<li>javascript</li>
<li class="red">c++</li>
</ul>
<input type="button" value="为第一个li元素添加样式" id="add">
<input type="button" value="为第二个li元素移除样式" id="remove">
<input type="button" value="为第三个li元素切换样式" id="toggle">
<input type="button" value="判断第四个li元素是否包含某个样式" id="contain">
<script>
window.function(){
/*add:为元素添加指定名称的样式.一次只能添加一个样式*/
document.querySelector("#add").function(){
/*classList:当前元素的所有样式列表-数组*/
document.querySelector("li").classList.add("red");
document.querySelector("li").classList.add("underline");
//document.querySelector("li").className="red underline"
/*获取样式*/
var result=document.querySelector("li").classList.item(2);
console.log(result);
}
/*remove:为元素移除指定名称的样式(不是移除class属性),一次也只能移除一个*/
document.querySelector("#remove").function(){
document.querySelector(".blue").classList.remove("blue");
}
/*toggle:切换元素的样式:如果元素之前没有指定名称的样式则添加。如果有则移除*/
document.querySelector("#toggle").function(){
document.querySelectorAll("li")[2].classList.toggle("green");
}
/*contains:判断元素是否包含指定名称的样式,返回true/false*/
document.querySelector("#contain").function(){
var isContain=document.querySelectorAll("li")[3].classList.contains("red");
console.log(isContain);
}
}
</script>
</body>
</html>
本文属个人学习整理记载