我怎样才能得到李先生以前的李姓名?

时间:2011-12-27 11:12:06

标签: jquery menu html-lists

我有如下的菜单结构,

<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类的li。基于我需要为最后两个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代码有什么问题?。

3 个答案:

答案 0 :(得分:5)

试试这个:

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

答案 1 :(得分:0)

prev()不返回它是否有类。它只是返回前一个元素。 所以你应该试试

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

有点代码。

答案 2 :(得分:0)

试试这个:

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

这会检查所有li的兄弟姐妹,如果他们有合适的班级,就可以做任何你想做的事。