vue点击当前元素添加class 删除兄弟元素的class
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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?
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的主要内容,如果未能解决你的问题,请参考以下文章
jquery怎么在点击li标签之后添加一个在class,点击下一个li时删除上一个class?
vue中 $event 的用法--获取当前父元素,子元素,兄弟元素