2013-02-14 5 views
0
jQuery('li.has-sub ul li:even').addClass('even'); 
jQuery('li.has-sub ul li:odd').addClass('odd'); 

클래스가 드롭 다운 메뉴에 추가됩니다. 하나의 드롭 다운 메뉴에서 클래스가 올바르게 추가되지만 다른 드롭 다운은 홀수 요소에 even 클래스를 추가합니다. 나는 jquery가 목록 항목을 모두 집계 한 것일 수 있다고 생각하는데, 왜 여전히 1을 짝수로 계산하는지 설명합니다. 이 URL에서 문제를 볼 수 있습니다 :jQuery 홀수 짝수 홀수 요소를 더하는 것입니다.

래프팅 여행으로 시작하는 노란색 배경의 메뉴입니다.
http://bit.ly/XAEmh7

내가 jQuery를 질문하지만 행운만을 UL를 계산 만들기 위해 this을 추가 노력했다.

답변

1

jQuery를 올바르게 주어진 코드를 작동하고 :

jQuery('li.has-sub ul li:even').addClass('even'); 
jQuery('li.has-sub ul li:odd').addClass('odd'); 

당신이 그것을 변경하는 경우 :

jQuery('li.has-sub').each(function(){ 
    jQuery('ul li:even',this).addClass('even'); 
    jQuery('ul li:odd',this).addClass('odd'); 
}); 

작동합니다.

+0

감사 :

$(document).ready(function() { $('li ul').filter(':even').addClass('even').end() .filter(':odd').addClass('odd'); }); 

JQuery와 설명서를 참조하시기 바랍니다. 이것은 내 문제를 해결하기 위해 작동합니다. 그러나 괴상한 점은 여전히 ​​바뀌고 있습니다. 내 말은, 첫 번째 하위 'li'이 이제는 두 번째로 홀수라는 뜻입니다. 주 '리'가 계산되기 때문에 이것이라고 생각하십니까? –

+0

아니요 - 짝수 : 홀수 선택기가 작동하는 방식입니다. jQuery docs "를 참조하면 : 심지어 일치하는 세트 내에서 첫 번째 요소, 세 번째 요소 등을 선택합니다." 및 : "odd는 일치하는 집합 내에서 두 번째 요소, 네 번째 요소 등을 선택합니다." http://api.jquery.com/even-selector/ 및 http://api.jquery.com/odd-selector/를 참조하십시오. – darshanags

+0

설명해 주셔서 감사합니다. –

0

: ODD/: EVEN 선택기가 높은 광 번째, 네번째, 등등 행 홀수 (인덱스 1,3 등)

는 또한 성능을 향상시키기 위해 사용한다 않도록 0 ​​기반 인덱스이다. 아래 필터 : http://api.jquery.com/odd-selector/