使用jquery在活动div上添加类

使用jquery在活动div上添加类,jquery,Jquery,。我想在当前活动div上添加类。我知道我需要使用addClass(),但我不知道在哪里必须使用它 html: ​ ​ 不完全确定要在何处添加/删除类,但请查看: $(".next").click(function(){ if ($('.myclass:visible').length) { var curr = $('.myclass:visible'), next = curr.next('.myclass').length?curr.next(

。我想在当前活动div上添加类。我知道我需要使用addClass(),但我不知道在哪里必须使用它

html:


不完全确定要在何处添加/删除类,但请查看:

$(".next").click(function(){
    if ($('.myclass:visible').length) {
        var curr = $('.myclass:visible'),
            next = curr.next('.myclass').length?curr.next('.myclass'):$('.myclass').first();

        curr.hide().removeClass('someClassHere');
        next.show().addClass('someOtherClassHere');
    }else{
        $('.myclass').first().show();
    }
});

听起来像是您试图向正在显示的元素添加一个类,然后将其从隐藏的元素中删除。这正好可以做到:


我所做的更改非常简单:在每个单击事件中,当您显示()某个内容时,会添加“selected”类,当您隐藏()某个内容时,会将其删除。

也许这就是您想要做的

css:

首先,"激活"第一里,

$('ul#myul li:first').addClass('active');
然后单击激活下一个:

$('ul#myul li.active').removeClass('active').next().addClass('active').length ||
$('ul#myul li:first').addClass('active');

您是否打算突出显示当前处于活动状态的
li

您的代码很好,但是如果您的css专注于突出显示和显示,您的javascript可能只需要为活动元素切换css类

setActive(0);

$('li').click(function() {
    setActive($(this).index());
});

$(".next").click(function(){
    var current = $('ul li.selected').index(),
        maxIndex = $('ul li').length - 1,
        next = (current + 1) >  maxIndex ? 0 : (current + 1);

    setActive(next);
});

function setActive(i) {
    var li = $('ul li').eq(i);

    $('ul li').removeClass('selected');
    li.addClass('selected');
    $('.myclass').removeClass('selected');
    $('.myclass').eq(i).addClass('selected');
}

​
css:


我想在ul img上添加活动的类。我需要它在img上添加类。如果我想更新,甚至单击img意味着我必须做什么?我不明白你的问题!很抱歉
$('ul#myul li:first').addClass('active');
$('ul#myul li.active').removeClass('active').next().addClass('active').length ||
$('ul#myul li:first').addClass('active');
setActive(0);

$('li').click(function() {
    setActive($(this).index());
});

$(".next").click(function(){
    var current = $('ul li.selected').index(),
        maxIndex = $('ul li').length - 1,
        next = (current + 1) >  maxIndex ? 0 : (current + 1);

    setActive(next);
});

function setActive(i) {
    var li = $('ul li').eq(i);

    $('ul li').removeClass('selected');
    li.addClass('selected');
    $('.myclass').removeClass('selected');
    $('.myclass').eq(i).addClass('selected');
}

​
.myclass.selected {
    display: block;
}

ul li.selected {
    background-color: yellow;
}