2016-07-05 179 views
0

我想在修改類的名稱時將類添加到另一個類的特定實例。這是代碼我有:動態添加類到另一個類的特定實例

for(var i = 0; i<3; i++){ 
      $('.formEntry')[i].addClass("form" + i); 
    } 

這是函數之前的代碼是RAN:

<fieldset class = "formEntry"></fieldset> 
<fieldset class = "formEntry"></fieldset> 
<fieldset class = "formEntry"></fieldset> 

,這是所需的輸出。

<fieldset class = "formEntry form1"></fieldset> 
<fieldset class = "formEntry form2"></fieldset> 
<fieldset class = "formEntry form3"></fieldset> 

請幫忙!

+0

Jayesh的答案很好,所以我不會發布另一個響應,但如果您好奇,您的方法不起作用,因爲$('。formEntry')[i]'返回本地DOM元素,沒有addClass函數。你可以執行'$('。formEntry')。eq(i)'或'$($('。formEntry')[i])'來獲得可以調用addClass的正確的jQuery對象。 (前者可能更好) –

+0

@MatisLepik哦,我現在看到了。感謝澄清;一直困在這一段時間:) – nutellasandwich

回答

1

您可以使用.each()循環遍歷所有元素,並使用.addClass()方法添加類。

$(document).ready(function() { 
 
$(".formEntry").each(function(i) { 
 
     $(this).addClass("form" + (i+1)); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<fieldset class = "formEntry"></fieldset> 
 
<fieldset class = "formEntry"></fieldset> 
 
<fieldset class = "formEntry"></fieldset>

0

您不必使用eachaddClass也起作用。

$('formEntry').addClass(function(i) { return 'form' + (i+1) }) 
0

使用此代碼動態循環中添加類...

jQuery(document).ready(function(){ 
 
    var i=1; 
 
jQuery('.formEntry').each(function(){ 
 
    
 
jQuery(this).addClass('form'+i); 
 
    i++; 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<fieldset class = "formEntry"></fieldset> 
 
<fieldset class = "formEntry"></fieldset> 
 
<fieldset class = "formEntry"></fieldset>

0

你可以用切片():

for(var i = 0; i < 3; ++i){ 
$('.formEntry').slice(i,(i + 1)).addClass("form" + i); 
} 

API JQuery

相關問題