2011-12-27 3 views
0

나는 아래처럼 이전 리 클래스 "signup_login"클래스 이름이 리를 확인해야 위의특정 li의 이전 li 클래스 이름은 어떻게 얻을 수 있습니까?

<ul> 
    <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1406 current_page_item menu-item-7482 white">one</li> 

    <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1406 current_page_item menu-item-7482 orange">two</li> 

    <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1406 current_page_item menu-item-7482 white">three</li> 

    <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1406 current_page_item menu-item-7482 orange">four</li> 

    <li class="signup_login orange"><a title="Sign up" href="/login?status=d&amp;login=setsignup" style="font-size: 14px; font-family: 'AmerTypeMdBTMedium' ! important;"> sign up </a></li> 

    <li class="logout white"><a title="Login" href="/login?status=d&amp;login=setlogin" style="font-size: 14px; font-family: 'AmerTypeMdBTMedium' ! important;"> login</a></li> 
</ul> 

을 메뉴 구조를 가지고있다. 그것을 바탕으로 지난 두 리에 대한 수업을 설정해야합니다. 내가 JQuery와 아래 사용되는 대한

,

$(document).ready(function() {  
    if(($('.signup_login').prev('.white'))){ 
     $('.signup_login').addClass('orange'); 
     $('.logout').addClass('white'); 
    } else { 
     $('.signup_login').addClass('white'); 
     $('.logout').addClass('orange'); 
    } 
)}; 

그러나 그것은 작동하지 않습니다. 위의 jquery 코드의 문제점은 무엇입니까?

답변

5

이 시도 :

if($('.signup_login').prev('li').hasClass('white')) { 
... 
+0

감사합니다. 그것의 작동 –

+0

당신은 오신 것을 환영합니다. :) – techfoobar

0

이전을()는 클래스가 여부를 반환하지 않습니다. 그냥 이전 요소를 반환합니다. 시도해보십시오.

$('.signup_login').prev().hasClass('white') 

종류 코드입니다. 그들은 적절한 클래스가 있다면, 당신은 그들에게 원하는대로 수행

$(".signup_login") 
    .siblings() 
    .each(function(){ 
     if($(this).hasClass("white")){ 
      // has white class 
     } else { 
      // doesn't have white class 
     } 
    }); 

이 모든 li의 형제 자매를 확인하고 :

관련 문제