尝试执行if语句,该语句检测列表项是否具有分配给它的类“约”’活动’和’项目’.我读过的每个帖子都是检查项目是否有三个类别中的一个.我想知道该项目何时具有所有三个类.
请任何帮助都会有所帮助,谢谢.
这就是我到目前为止所拥有的
var $activeItem = $("#project05 ol.carousel-inner li.item");
if ($activeItem.hasClass('about') & $activeItem.hasClass('active') & $activeItem.hasClass('item')) {
alert("slide4 about is selected");
}
这是HTML
最佳答案
由于Musa’s answer已经是我的upvote,但是这里有一点补充,因为它缺少这个案例:
如果类项目存在于多个< li> -element上,则您的选择器可以返回多个项目.在这种情况下:
if ($activeItem.is('.about.active')) {}
如果至少有一个元素具有特定的类,则它将始终返回true.如果多个条目可以包含类项,则可以在循环中检查结果,如下所示:
$.each($activeItem,function(key,value) {
if ($(value).is('.active')) {
alert ('Slide ' + key + ' is selected');
}
});
要么
另一个想法是直接选择元素并获得如下索引:
var selected = $('ul li.active').index();
如果需要,可以在键或上面的语句中添加1,因为两个值都是从零开始的.
演示
编辑
看来,您正在使用Twitter BootStrap Carousel.如果是这种情况,您可以绑定slid事件,该事件在每次操作后触发(例如单击上一个/下一个按钮或使用导航).这应该做的伎俩:
$('.carousel').bind('slid',function() {
var selected = $('ul li.active').index();
});