2017-02-25 3 views
-1

私は動的にIDをクラスに追加しようとしています。問題は、現在のクラスと次のクラスにクラスを追加する必要があることです。私はこのコードを持っている:Jqueryは高いidの動的にclascを追加します

if ($('#id_0').hasClass('active')){ 
$('#id_0').removeClass("active"); 
$('#id_1').addClass("active"); 
} 
else if ($('#id_1').hasClass('active')){ 
$('#id_1').removeClass("active"); 
$('#id_2').addClass("active"); 
} 

など。

をだから私はこのようなことは、動的書き込もう:

$('.my-class').each(function(i,e) { 
    if ($('#id_' + (i)).hasClass('active')){ 
    $('.#id_' + (i)).removeClass("active"); 
    $('#id_' + (i+1)).addClass("active"); 
    } 

問題は、この行が

$('#id_' + (i+1)).addClass("active"); 
を働いていないということです

アイデア? おかげ

+0

? –

+0

こんにちは、ありがとうございます。私はこのコードを使用して動的IDを生成します: – rickybrce

+0

$( '#slides-titles-cont li.title-slider')それぞれ(function(i、e){ $(this).append( '

  • ').attr(" id "、" id_ "+ i) }); – rickybrce

    答えて

    0

    作業していて、ダイナミックではありませんコードは次のとおりです。

    $('.title-slider').each(function(i,e) { 
        if ($('.title-slider#id_' + (i)).hasClass('active')){ 
        $('.title-slider#id_' + (i)).removeClass("active"); 
        $('.title-slider#id_' + (i+1)).addClass("active"); 
        } 
    }); 
    

    最後の行が動作していない:

    if ($('.title-slider#id_0').hasClass('active')){ 
    $('.title-slider#id_0').removeClass("active"); 
    $('.title-slider#id_1').addClass("active"); 
    } 
    else if ($('.title-slider#id_1').hasClass('active')){ 
    $('.title-slider#id_1').removeClass("active"); 
    $('.title-slider#id_2').addClass("active"); 
    } 
    else if ($('.title-slider#id_2').hasClass('active')){ 
    $('.title-slider#id_2').removeClass("active"); 
    $('.title-slider#id_3').addClass("active"); 
    } 
        else if ($('.title-slider#id_3').hasClass('active')){ 
    $('.title-slider#id_3').removeClass("active"); 
    $('.title-slider#id_4').addClass("active"); 
    } 
        else if ($('.title-slider#id_4').hasClass('active')){ 
    $('.title-slider#id_4').removeClass("active"); 
    $('.title-slider#id_5').addClass("active"); 
    } 
        else if ($('.title-slider#id_5').hasClass('active')){ 
    $('.title-slider#id_5').removeClass("active"); 
    $('.title-slider#id_6').addClass("active"); 
    } 
        else if ($('.title-slider#id_6').hasClass('active')){ 
    $('.title-slider#id_6').removeClass("active"); 
    $('.title-slider#id_7').addClass("active"); 
    } 
    

    は、だから私はこのようにそれを書くことにしてみてください。最初の2行だけがOKです。

    +0

    解決策が見つかりました。 戻り値: 'active';戻り値: '有効'; $( '。title-slider.active')。 – rickybrce

    0

    THIのためのソリューションです: `i`が定義されている

    $('.title-slider.active').removeClass(function(){ 
        $(this).next().addClass('active'); 
        return 'active'; 
    
    関連する問題