2011-12-27 4 views
0

у меня есть структура меню, как показано ниже,Как я могу получить предыдущее имя класса 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> 

в выше мне нужно, чтобы проверить Ли, который имеет имя класса «signup_login» предыдущего класса Ли. основанный на том, что мне нужно установить класс для двух последних li.

для этого я использовал ниже 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') 

любопытное код.

0

Попробуйте это:

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

Это будет проверять все братьев и сестер li «s и, если у них есть собственный класс, делать все, что вы хотите им.

Смежные вопросы