2011-02-15 57 views
7

我有:jquery:最接近('h3')選擇器?

<ul class="rating"> 
    <h3>Like this</h3> 
    <li class="rating-number"> 
     <div id="iLikeThis" class="iLikeThis"> 
      <span class="counter">2</span> 
     </div> 
    </li> 
</ul> 

這是我的jQuery代碼

$('.iLikeThis .counter').each(function() { 
     $(this).parent().parent().parent().children('h3').text('You like this'); 
     $(this).parent().addClass('like'); 
}); 

有沒有更好的方式來選擇最近的H3元素。它可以用3次父(),但不能用最近('h3)。

爲什麼?

+1

這是無效的HTML。你不能把`h3`作爲`ul`的孩子。像這樣破碎的HTML,不可能知道瀏覽器是否正確。 – RoToRa 2011-02-15 12:47:30

回答

13

由於h3不是.counter的父親,所以不起作用。使用上.rating.closest(),而不是找到它h3

$(this).closest('.rating').children('h3').text('You like this');