zoukankan      html  css  js  c++  java
  • H5新特性实现对class的增删改

    直接撸代码 全靠死记硬背 没什么技术点

    HTML部分

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>原生js实现对类的增加、删除、修改</title>
    </head>
    <body>
        <div id="test" class="old-class"></div>
    </body>
    </html>

    JS部分 方案一(原生js):

    // 获取节点和节点的class属性值
    var $test = document.getElementById("test");
    var test_class_name = $test.getAttribute("class");
    
    // 增加一个class
    test_class_name = test_class_name.concat(" add-class");
    $test.setAttribute("class",test_class_name );
    
    // 删除一个class
    test_class_name = test_class_name.replace("old-class","");
    $test.setAttribute("class",test_class_name );
    
    // 替换一个class
    test_class_name = test_class_name.replace("old-class","new-class");
    $test.setAttribute("class",test_class_name);

    方案2 (H5新特性) :

    contains(value) 判断名为value的类名是否存在
    add(value) 添加名为value的类名
    remove(value) 删除名为value的类名
    toggle(value) 如果名为value的类名存在则删除,不存在则添加
    
    // 代码如下:
    // 获取节点
    var $test = document.getElementById("test");
    
    // 增加一个class
    $test.classList.add("new-class");
    
    // 删除一个class
    $test.classList.remove("old-class");
    
    // toggle(value)方法,如果存在value这个类名就删除,如果不存在则添加
    $test.classList.toggle("old-class");
    
    // contains(value)方法,判断value这个类名是否存在,存在返回true,不存在返回false
    $test.classList.contains("old-class");
    
    // 通过先删除old-class,然后添加new-class的方式,变相的实现替换class的目的
    $test.classList.remove("old-class");
    $test.classList.add("new-class");

    结语:以上就是今天要分享的了。

  • 相关阅读:
    javascript有用小技巧—实现分栏显示
    在Apk应用程序内,查找某个Activity。
    NodeJS系列~第一个小例子,实现了request.querystring功能
    IOS开发(objective-c)~开篇有理
    爱上MVC3~布局页的继承与扩展
    我心中的核心组件(可插拔的AOP)~第五回 消息组件
    基础才是重中之重~方法override详解
    数据结构 练习 20-查找 算法
    cocos2d-x适配多分辨率
    VS2010中使用CL快速 生成DLL的方法
  • 原文地址:https://www.cnblogs.com/ljx20180807/p/9884391.html
Copyright © 2011-2022 走看看