最近看到原生js—操作类名

2021-01-07  本文已影响0人  diviner_杨

记下笔记

例子 菜鸟

<!doctype html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .mystyle {
            width: 300px;
            height: 50px;
            background-color: coral;
            color: white;
            font-size: 25px;
        }
        .newMystyle{
            width: 300px;
            height: 50px;
            background-color: pink;
            color: white;
            font-size: 25px;
        }
    </style>
</head>
<body>
    <p>点击按钮为 DIV 元素添加 "mystyle" 类。</p>
    <button onclick="add()">点我增加class</button>
    <button onclick="remove()">点我删除class</button>
    <button onclick="myContains()">是否包含</button>
    <button onclick="toggle()">切换类</button>
    <button onclick="myReplace()">替换类</button>
    <p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
    <div id="myDIV"> 我是一个 DIV 元素。</div>
</body>
<script>
    const oDiv = document.getElementById('myDIV');
    //添加类
    function add() {
        oDiv.classList.add("mystyle");
        //添加多个
        // oDiv.classList.add("mystyle", "anotherClass", "thirdClass");
    }
    //删除类
    function remove() {
        oDiv.classList.remove("mystyle");
    }
    //确定是否包含给定的类
    function myContains() {
        if (oDiv.classList.contains("anotherClass")) {
            oDiv.classList.remove("anotherClass");
        } else {
            alert("找不到此类");
        }
        // console.log(oDiv.classList.contains("mystyle"));
    }
    
    //切换类:存在删除,不存在,就添加;
    function toggle() {
        oDiv.classList.toggle("mystyle")
    }
    //替换类:新类newMystyle替换老类mystyle;
    function myReplace() {
        oDiv.classList.replace("mystyle","newMystyle")
    }

    //迭代类;
    for(var i = 0,len = oDiv.classList.length; i < len; i++){
        doSomething(oDiv.classList[i]);
    }

</script>
</body>
</html>

ES6 代码块使用


const hasClass = (el, className) => el.classList.contains(className); 

// Example 
hasClass(document.querySelector("p.mystyle "), "mystyle"); // true

const toggleClass = (el, className) => el.classList.toggle(className); 

// Example 
toggleClass(document.querySelector( p.mystyle ),  mystyle); // 该段不再有 "mystyle" 类

上一篇 下一篇

猜你喜欢

热点阅读