欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript利用html5新方法操作元素类名详解

程序员文章站 2022-06-17 22:47:20
目录1、classlist属性2、实务应用早先javascript处理起来特别不方便,需要先取到class属性,然后对字符串进行处理。现在html5给所有元素增加了classlist属性来操作类属性,...

早先javascript处理起来特别不方便,需要先取到class属性,然后对字符串进行处理。

现在html5给所有元素增加了classlist属性来操作类属性,非常方便。

1、classlist属性

先看如下代码:

<ul class="nav">

    <li class="active">栏目1</li>

    <li>栏目2</li>

    <li>栏目3</li>

</ul>

<script type="text/javascript">

    // 获取到当前的li元素

    let activeli = document.queryselector(".active");

    // 打印classlist属性

    console.log(activeli.classlist)

    // 控制台输出:

    //     domtokenlist ['active', value: 'active']

</script>

控制台查看效果:

classlist属性类型:

JavaScript利用html5新方法操作元素类名详解

classlist属性是 domtokenlist 类型,可以通过addcontainsremove等方法对类属性进行操作。

  • add(value) 新增加一个类名。
  • contains(value) 是否包含类名。
  • remove(value) 删除类名。
  • toggle(value) 如果类名存在则删除,否则添加。

2、实务应用

实务中,栏目是切换是很常用的一个应用。接上面的例子,当点击栏目时 将 active 移动到对应的栏目

<ul class="nav">

    <li class="item active">栏目1</li>

    <li class="item">栏目2</li>

    <li class="item">栏目3</li>

</ul>

 

<script type="text/javascript">

    let currentelement = document.queryselector(".nav").firstelementchild;

    // 遍历li元素设置点击事件

    while (currentelement) {

        currentelement.onclick = function() {

            // 移除激活li的active

            document.queryselector(".active").classlist.remove("active");

            // 当前li类增加active

            this.classlist.add("active");

        }

        currentelement = currentelement.nextelementsibling;

    }

</script>

这样实现起来就很方便了,不用影响到其他类名。

到此这篇关于javascripthtml5新方法操作元素类名详解的文章就介绍到这了,更多相关javascripthtml5新方法操作元素类名内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!