2012-11-26 52 views
0

我得到了以下HTML:使用jQuery来设置类的元素

<ul class="specs"> 
     <li> 
      <div class="trigger">› City (2)</div> 
      <div class="cityByLocation"> 
       <ul> 
        <li class="cityInfo"> 
         <div class="cityName" style="float: left;"> 
          › New York 
         </div> 
         <div class="cityDistance" style="float: left;"> 
          430 miles 
         </div> 
         <div class="btn-take"></div> 
        </li> 
        <li class="cityInfo"> 
         <div class="cityName" style="float: left;"> 
          › Chicago 
         </div> 
         <div class="cityDistance" style="float: left;"> 
          430 miles 
         </div> 
         <div class="btn-take"></div> 
        </li> 
       </ul> 
      </div> 
     </li> 
<ul> 

当我点击“市(2)”,两者的div下出现。但是,我想为他们添加一个类。

这是我的js现在:

$('.trigger').click(function() 
    { 
     $(this).siblings('div').eq($(this).index()).toggle(); 

     $(this).eq($(this).index()).toggleClass("locationSelected"); 

     return false; 
    }); 

这增加了名字后面的蓝色背景“市(2)”,而不是底层的div,这是我想要的。

及其与类“cityByLocation”股利我想补充locationSelected到类。

编辑:

我结束了使用

$( '扳机 ')点击(函数(){$ (本).siblings(' DIV')EQ($。 (this).index())。toggle(); $(this).toggleClass(“locationSelected”); $(this).siblings('div')。eq($(this).index()) .toggleClass(“locationSelected”);

return false; }); 
+0

岂不$(本).EQ($(这个).index())和$(this)是一样的吗? – Popnoodles

+0

看来你是对的。我很困惑于jQuery选择 – sindrem

回答

4

比使用toggleClass相反,使用addClass

$(this).eq($(this).index()).addClass("locationSelected"); 
+0

+ 1'd为OP的代码的正确答案,但纠正我,如果我错了... $(this).eq($(this).index() )=== $(本) – Popnoodles

+1

$(本).addClass( “locationSelected”);使得这里 –

0
.addClass("locationSelected"); 
1
$(this).siblings('.cityByLocation').addClass("locationSelected"); 

使用,如果你只是想添加的类别,但如果你想删除它在交替的点击使用toggleClass代替。

+0

更有意义这似乎是最接近的答案,但它仍然是行不通的。我已经尝试过这一点。任何其他想法? – sindrem

+0

这工作。浮动在我的divs中使它看起来好像不是一开始。 – sindrem

+0

我似乎无法保持立“cityInfo”的一条线。任何想法,如果我不能浮动他们? – sindrem

0

我建议,假设你想在类名添加到嵌套在相邻的divuldiv元素:

$(this).next('.cityByLocation').find('div').addClass('locationSelected'); 
相关问题