Bootstrap 4:如何通过jquery或vuejs使列表组的项目在点击时激活?
Bootstrap 4 : How to make the item of list-group active when clicking it via jquery or vuejs?
Bootstrap 4:如何通过jquery或vuejs使列表组的项目在点击时激活?
这是组件:
<div class="list-group">
<a href="#" class="list-group-item active">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
http://v4-alpha.getbootstrap.com/components/list-group/#linked-items
第一个项目是激活的,但是点击另一个不会激活它,如何通过jquery或vuejs实现?提前致谢!
例如:
$('.list-group-item').click(function(e) {
e.preventDefault();
$(this).addClass('active').siblings().removeClass('active');
});
JSFiddle:https://jsfiddle.net/mg0xa1ku/
为您的列表组 div 提供一个 ID,并 select 他们使用 $('#name .list-group-item active')
的活动列表组项目。
$('.list-group > a').click(function(e){
// find/remove all active classes from each a
$('.list-group > a').removeClass('active');
// add active selected a
$(this).addClass('active');
});
特定 class 菜单
我会添加 'mainNav' class 这样我就可以定位它。以防万一我在同一页上有两个 'list-group'
<div class="list-group mainNav">
<a href="#" class="list-group-item active">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
$('.mainNav > a').click(function(e){
// find/remove all active classes from each a
$('.mainNav > a').removeClass('active');
// add active selected a
$(this).addClass('active');
});
<script>
// es6 js
new Vue({
el: '#listGroup',
data {
selected: 0
},
methods: {
isSelected (i) {
return i === this.selected
}
}
})
</script>
<div class="list-group" id='listGroup'>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(0) }" v-on:click="selected = 0">Cras justo odio</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(1) }" v-on:click="selected = 1">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(2) }" v-on:click="selected = 2">Morbi leo risus</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(3) }" v-on:click="selected = 3">Porta ac consectetur ac</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(4) }" v-on:click="selected = 4">Vestibulum at eros</a>
</div>
这定义了一个 属性 的选择。单击列表项时,v-on 挂钩会将 selected 的值更改为 v-on 属性表达式中的整数 id。随着 this.selected 的值在 vue 中发生变化,类 发生变化,因为它们绑定了方法 isSelected() 的输出,该方法在选定值发生变化时被调用。
Bootstrap 4:如何通过jquery或vuejs使列表组的项目在点击时激活?
这是组件:
<div class="list-group">
<a href="#" class="list-group-item active">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
http://v4-alpha.getbootstrap.com/components/list-group/#linked-items
第一个项目是激活的,但是点击另一个不会激活它,如何通过jquery或vuejs实现?提前致谢!
例如:
$('.list-group-item').click(function(e) {
e.preventDefault();
$(this).addClass('active').siblings().removeClass('active');
});
JSFiddle:https://jsfiddle.net/mg0xa1ku/
为您的列表组 div 提供一个 ID,并 select 他们使用 $('#name .list-group-item active')
的活动列表组项目。
$('.list-group > a').click(function(e){
// find/remove all active classes from each a
$('.list-group > a').removeClass('active');
// add active selected a
$(this).addClass('active');
});
特定 class 菜单
我会添加 'mainNav' class 这样我就可以定位它。以防万一我在同一页上有两个 'list-group'
<div class="list-group mainNav">
<a href="#" class="list-group-item active">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
$('.mainNav > a').click(function(e){
// find/remove all active classes from each a
$('.mainNav > a').removeClass('active');
// add active selected a
$(this).addClass('active');
});
<script>
// es6 js
new Vue({
el: '#listGroup',
data {
selected: 0
},
methods: {
isSelected (i) {
return i === this.selected
}
}
})
</script>
<div class="list-group" id='listGroup'>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(0) }" v-on:click="selected = 0">Cras justo odio</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(1) }" v-on:click="selected = 1">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(2) }" v-on:click="selected = 2">Morbi leo risus</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(3) }" v-on:click="selected = 3">Porta ac consectetur ac</a>
<a href="#" class="list-group-item" v-bind:class="{ 'active' : isSelected(4) }" v-on:click="selected = 4">Vestibulum at eros</a>
</div>
这定义了一个 属性 的选择。单击列表项时,v-on 挂钩会将 selected 的值更改为 v-on 属性表达式中的整数 id。随着 this.selected 的值在 vue 中发生变化,类 发生变化,因为它们绑定了方法 isSelected() 的输出,该方法在选定值发生变化时被调用。