vue点击当前元素添加class 删除兄弟元素的class

vue点击当前元素添加class 删除兄弟元素的class,第1张

在vue中当我们要实现点击元素动态添加类名时,我们不能像JQ那样去用(xxx.addClass(‘class’).siblings().removeClass(‘class’))实现,那我们应该怎样去做呢

解决方案:

1.在data里面申明一个属性,默认值最好为数字类型,并且不得大于当前元素+所有兄弟元素的length,可以默认为0(第一个元素选中)

2.在当前元素中添加动态class: “:class”,使用v-bind进行绑定

3.给元素点击事件,传入当前元素的index,把元素当前的index赋值给data里面的申明的属性,这样就可以点击实现该效果

一.首先给想要添加class的元素,通过v-bind绑定一个class

二.在data中声明一个变量activeClass

三.在点击事件中

四.在style里面写想要的样式就可以了

可以使用:$("#but").removeAttr("class")和$("#but").attr("class","but_test")来对标签进行元素的添加和删除。

为了直观性的看到结果,首先在css样式中,针对class选择该元素,之后添加相应的样式。

接下来,就给该button按钮添加一个点击事件,让它能过自由切换。

对该点击事件添加js函数。

运行后的结果为:

拓展资料:

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。

<html>

    <head>

        <style type="text/css">

            div{width:100pxheight:100px}

            .red{background:red}

            .green{background:green}

        </style>

        <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"></script>

    </head>

    <body>

        <div id="div" style="background:Greencursor:hand">click</div>

        <div class="main red">div class</div>

    </body>

    <script type="text/javascript">

        $(document).ready(function(){

            $("#div").click(function(){

                var cls = $(".main").attr("class")

                if(cls == "main") $(".main").attr("class", "main red")

                else $(".main").attr("class", "main")

            })

        })

    </script>

</html>

应该理解对了你的问题:动态添加元素的class名。

直接上代码,有问题追问哈。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11654340.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存