我正在使用Jquery开发iTunes风格的封面流程。我不经常使用Jquery框架。我不想使用插件,大多数插件看起来像我想要的东西。 http://jsfiddle.net/zorikii/cL63y/
目前,我只是想从img元素中删除活动标记。
$(".imgFrame img").removeClass(function(index, currentClass) {
var removedClass;
if ( currentClass === "active" ) {
removedClass= "active";
}
return removedClass;
});
这些类声明如下:
.imgFrame
.imgFrame > img
.imgFrame.active > img
编辑:HTML:
<div class="imgFrame active">
<img src="http://placehold.it/50x75"/>
</div>
<div class="imgFrame">
<img src="http://placehold.it/50x75"/>
</div>
我有一种感觉$(".imgFrame img")
不是我想要的,虽然我之前在不同的背景下看过这样的Jquery对象。
答案 0 :(得分:3)
您需要$('.imgFrame').addClass('active');
和$('.imgFrame.active').removeClass('active');
添加&amp;删除这些类。但是,如果你想做一些更深入的事情,比如检查addClass是否可以使用next()项元素,你可以这样做:
$('#btnNext').on('click', function() {
var $curImg = $('.imgFrame.active'),
$nextImg = $curImg.next();
if ($nextImg.length) {
$nextImg.addClass('active');
} else {
$('.imgFrame').first().addClass('active');
}
$curImg.removeClass('active');
});
这是一个jsFiddle示例,其中包含您的小提琴代码。
答案 1 :(得分:2)
如果您只想从active
元素中移除课程img
,您只需将代码添加到此处:
$('.imgFrame img').removeClass('active');
传递给方法的函数中的检查是多余的,因为jQuery在内部执行此操作。
为了帮助改进您正在使用的选择器,我需要查看您拥有的HTML代码。