HTML5基础加强css样式篇(DOM的属性操作(对class属性值的操作 setAttribute,removeAttribute,classlist:remove,add,toggle))(七)
1.通用的 setAttribute,removeAttribute:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML5初级阶段</title>
<style type="text/css">
.box {
color: red;
font-size: 20px;
background-color: green;
}
.box1 {
border: 2px solid pink;
}
</style>
</head>
<body>
<div id="box">
Hello
</div>
<button type="button" id="btnAdd">添加样式</button>
<button type="button" id="btnDel">删除样式</button>
<button type="button" id="btnAddBoder">添加边框样式</button>
<script type="text/javascript">
// Add your code
// 通过JS操作元素的属性
var boxDom = document.querySelector("#box");
var btnAddDom = document.querySelector("#btnAdd");
// 单击按钮动态添加 class 属性
btnAddDom.onclick = function () {
boxDom.setAttribute("class", "box");
}
var btnDelDom = document.querySelector("#btnDel");
// 单击按钮动态删除 class 属性
btnDelDom.onclick = function () {
boxDom.removeAttribute("class");
}
var btnAddBoderDom = document.querySelector("#btnAddBoder");
btnAddBoderDom.onclick = function () {
// 获取属性现有值
var attrVal = boxDom.getAttribute("class")
boxDom.setAttribute("class", attrVal + " box1");
}
</script>
</body>
</html>
2.HTMLT5特有的classList remove,add类
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML5初级阶段</title>
<style type="text/css">
.box {
color: red;
font-size: 20px;
background-color: green;
}
.box1 {
border: 2px solid pink;
}
</style>
</head>
<body>
<div id="box">
Hello
</div>
<button type="button" id="btnAdd">添加样式</button>
<button type="button" id="btnDel">删除样式</button>
<button type="button" id="btnAddBoder">添加边框样式</button>
<script type="text/javascript">
// Add your code
// 通过JS操作元素的属性
var boxDom = document.querySelector("#box");
var btnAddDom = document.querySelector("#btnAdd");
// 单击按钮动态添加 class 属性
btnAddDom.onclick = function () {
boxDom.setAttribute("class", "box");
}
var btnDelDom = document.querySelector("#btnDel");
// 单击按钮动态删除 class 属性
btnDelDom.onclick = function () {
// boxDom.removeAttribute("class");
// 为一个DOM动态“删除”一个类
boxDom.classList.remove("box1");
}
var btnAddBoderDom = document.querySelector("#btnAddBoder");
btnAddBoderDom.onclick = function () {
// 获取属性现有值
// var attrVal = boxDom.getAttribute("class")
// boxDom.setAttribute("class", attrVal + " box1");
/*
classList 是HTML5为DOM提供的一个操作 class 属性的对象
*/
// 为一个DOM动态“追加”一个类
boxDom.classList.add("box1");
// class 属性中 类选择器的个数
console.log( boxDom.classList.length);
}
</script>
</body>
</html>
3classList的方法toggle()方法可以检测是否含有,有就删除没有就添加
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML5初级阶段</title>
<style type="text/css">
.box-hidden{
visibility: hidden;
}
</style>
</head>
<body>
<div id="box" class="test">
Hello
</div>
<button type="button" id="btnToggle">隐藏/显示</button>
<script type="text/javascript">
var boxDom = document.querySelector("#box");
var btnAddDom = document.querySelector("#btnToggle");
var isHidden = false;
/*
单击按钮
1 box 显示,隐藏
2 box 已经隐藏,需要显示
*/
btnAddDom.onclick = function () {
/*
if(isHidden == false){
boxDom.setAttribute("class", "box-hidden");
isHidden = true;
}else{
boxDom.removeAttribute("class", "box-hidden");
isHidden = false;
}
*/
boxDom.classList.toggle("box-hidden");
}
</script>
</body>
</html>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
