vue中点击div里的当前元素添加class删除其他兄弟元素的class?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中点击div里的当前元素添加class删除其他兄弟元素的class?相关的知识,希望对你有一定的参考价值。

toggleClass方法可以实现对某一class进行添加、删除操作。

示例:

1
$('#test').toggleClass('className');
上面的代码将会依次为id为test的元素添加/删除名为className的class,如果test元素存在className,则删除className,如果不存在则添加className。
toggleClass的用法如下:在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类。

.toggleClass( className )

className

类型: String

在匹配的元素集合中的每个元素上用来切换的一个或多个(用空格隔开)样式类名。追问

我的效果是默认第一个子元素是如图的样式 ,然后点哪个同胞元素样式就变成第一个的样式,而第一个的样式就没了,我想看完整的代码

参考技术A 如果用element饿了么框架的话,可以直接用<el-tabs>来处理。其中<el-tabs value="这个key值为选中状态">如下:
<el-tabs value="service" @tab-click="navTabClick">
<el-tab-pane label="账户服务" name="service"></el-tab-pane>
<el-tab-pane label="转账支付" name="pay"></el-tab-pane>
<el-tab-pane label="投资理财" name="invest"></el-tab-pane>
<el-tab-pane label="信用卡" name="card"></el-tab-pane>
<el-tab-pane label="贷存款" name="loan"></el-tab-pane>
</el-tabs>
参考技术B 灵活应用一下this属性

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

参考技术A 在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里面写想要的样式就可以了

以上是关于vue中点击div里的当前元素添加class删除其他兄弟元素的class?的主要内容,如果未能解决你的问题,请参考以下文章

vue 点击当前元素添加class 去掉兄弟的class

vue点击动态删除div

vue 点击当前元素添加class 去掉兄弟的class

vue.js实现点击后动态添加class及删除同级class

vue点击其他地方隐藏div

jquery 向DIV动态添加元素