2012-02-26 57 views
1

jQuery/Javascript如何通過類對元素進行計數並將另一個類設置爲列表中的某個元素。jquery通過類來計算元素,並將另一個類設置爲列表中的某個元素

有可能嗎?

一個例子,我有四個元素與類「qa」和更改或添加類「qa2」列表中的第二個元素。

+0

你有什麼問題嗎?你有什麼*嘗試*做任何研究?什麼地方出了錯? – 2012-02-26 14:48:46

+0

[jQuery count子元素](http://stackoverflow.com/questions/4291151/jquery-count-child-elements)和[如何添加和刪除css類](http://stackoverflow.com/問題/ 2170878 /如何到添加和移除,CSS類)。 – 2012-02-26 15:34:50

+0

另外,您可以在文檔中找到解決大多數問題的解決方案:http://api.jquery.com/ – 2012-02-26 15:40:20

回答

4

使用jQuery

var el = $('.cls'); 
alert(el.length); // Will alert length 

要將類添加到第二個元素

$(el[1]).addClass('classOne'); // first item is 0 and second item is 1 and so on 

內部循環中使用條件添加類第二個元素。

el.each(function(i){ 
    if(i==1) // If 2nd item then add the class 
     $(el[i]).addClass('newClass'); 
});​ 

或者,這將增加「的NewClass」類有類「CLS」

$('.cls').addClass('newClass')​; 

OR這將在列表中添加不同類奇數和偶數項/匹配項的所有元素

​$('.cls').each(function(i){ 
    if(!(i%2)) 
     $(this).addClass('odd'); 
    else 
     $(this).addClass('even'); 
});​ 
+0

明白了。非常感謝! – 2012-02-26 15:31:20

+0

不客氣:-) – 2012-02-26 15:32:45

1

相對容易:

var numOfElementsOfClassName = $('.classNameToFind').length; 
var particularIndexToApplyNewClass = 3; 
$('.classNameToFind').eq(particularIndexToApplyNewClass).addClass('newClassName'); 

參考文獻:

+0

也許需要使用'removeClass()'刪除舊類。 – 2012-02-26 14:56:04

+0

我認爲,但是我不能從原來的問題(比如是否應該添加新的類)或替換舊的類中解決問題。 – 2012-02-26 14:57:09

+0

我試過了,但沒有奏效,可能是什麼問題? – 2012-02-26 15:14:47

相關問題