我要的效果是点击一个div,这个div是循环出来的,点击那个让哪一个加边框,再点击他的话边框消失,这个应该怎么做
初始化isActive变量为false,点击时候切换,自动切换div类名active是否拥有
<div v-bind:class="{ active: isActive }" @click="!isActive"></div>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script>
</head>
<body>
<div id="app">
<ul id="omain">
<li v-for="(item,index) in data">
<div @click="showIndex(index)" :class="{'divborder':isShow == index}"> show {{ item }}</div>
</li>
</ul>
</div>
<script>
var app = new Vue({
el: '#app',
data(){
return {
data: ['aa', 'bb', 'cc'],
isShow: Number
}
},
methods:{
showIndex(index) {
if (this.isShow == index) {
this.isShow = null;
} else {
this.isShow = index;
}
}
}
})
</script>
<style>
.divborder {
border: 1px solid #ddd;
}
</style>
</body>
借用楼上的代码
<div @click="changeClass"></div>
changeClass(){
$(window.event.target).toggleClass("className");
}
10 回答10.8k 阅读
7 回答11k 阅读
6 回答2.8k 阅读
5 回答4.5k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答4.6k 阅读✓ 已解决