2017-01-23 64 views
1

我需要後,我比較兩個ID添加一個類後添加一類他們,我寫了這個使用jQuery找到一個ID

$(document).ready(function(){ 
    $(".tab-content .InfoUp:first").addClass('in active'); 
     $("#InfoUpHeight .InfoUpFrom:first").addClass('active'); 
    $('.InfoUpFrom a').click(function(){ 
     var idArray = []; 
     var i = ""; 
     $('.InfoUp').each(function() { 
      idArray.push(this.id); 
     }); 
     var TabReview = $('.InfoUpFrom.active a i').attr('id'); 
     for (var i = idArray.length - 1; i >= 0; i--) { 
      if(idArray[i] == TabReview){ 
       $("#InfoUpHeight .InfoUpFrom:first").removeClass('active'); 
       $(".InfoUp:first").removeClass('in active'); 
       $(".InfoUp #"+idArray[i]).addClass('in active'); 
       $(TabReview).addClass('active'); 
      } 
     } 

    }); 
}); 

我對代碼進行測試,發現這些ID,但沒有添加類。 謝謝。

+0

'$( 「InfoUp#」 + idArray [I])addClass( '在有源');'中添加了兩個類和活性。這是預期的ryt –

+0

不是一個答案,但你不能在你的班級名稱中有空格,你會想要將'in active'改爲'inactive' –

+0

它應該是$('#'+ TabReview).addClass('活性'); –

回答

0

你已經在變量TabReview中用$()定義了,如果你在for循環中取消了$和()的TabReview,你的代碼應該可以工作。

+0

TabReview是一個持有ID屬性值的字符串,而不是jQuery對象 – Andriy

1

附加 '#',以jQuery選擇($('#' + TabReview).addClass('active');):

for (var i = idArray.length - 1; i >= 0; i--) { 
    if (idArray[i] === TabReview) { 
    $("#InfoUpHeight .InfoUpFrom:first").removeClass('active'); 
    $(".InfoUp:first").removeClass('in active'); 
    // $(".InfoUp #" + idArray[i]).addClass('in active'); 
    $(".InfoUp #" + TabReview).addClass('in active'); 
    $('#' + TabReview).addClass('active'); 
    } 
} 
+0

是的,但問題是類沒有添加到'$(「。InfoUp#」+ idArray [i])。addClass('in active');'和是我需要添加它的地方 – sittelle

+0

你可以用你的代碼創建一個plunker嗎?所以我可以檢查它。如果沒有,嘗試調試你的代碼:1)是否是TabReview非空字符串? 2)確保你傳遞if(idArray [i] === TabReview)條件,3)檢查$(「。InfoUp#」+ idArray [i])。size() - 看到你至少有一個這樣的元素, 4)檢查$('#'+ TabReview).size() – Andriy