入门客AI创业平台(我带你入门,你带我飞行)
博文笔记
  • 当前位置:
  • 入门客AI创业平台
  • >
  • 博文笔记
  • >
  • HTML5基础加强css样式篇(DOM的属性操作(对class属性值的操作 setAttribute,removeAttribute,classlist:remove,add,toggle))(七)

HTML5基础加强css样式篇(DOM的属性操作(对class属性值的操作 setAttribute,removeAttribute,classlist:remove,add,toggle))(七)

创建时间:2017-03-15 投稿人: 浏览次数:544

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。