2014-03-25 73 views
0

我有幾個帖子,看起來像這樣(「測試」是的職位):jQuery的目標父DIV如果hasClass

<div class="test"> 
     <p><a href="">test</a></p> 
     <span class="thumbs-rating-up thumbs-rating-voted" onclick="thumbs_rating_vote(4, 1);" data-text="Vote Up"> +1</span> 
</div> 

<div class="test"> 
     <p><a href="">test</a></p> 
     <span class="thumbs-rating-up" onclick="thumbs_rating_vote(4, 1);" data-text="Vote Up"> +1</span> 
</div> 

正如你所看到的。其中一些帖子的類別爲thumbs-rating-voted。我想要做的是添加一個類到帖子鏈接,如果帖子有這個類。

我已經試過這樣:

jQuery(document).ready(function($) { 
     setTimeout(function() { 
       if ($('.thumbs-rating-up').hasClass('thumbs-rating-voted')) { 
       $('#test p > a').addClass('hide-voted-image'); 
       alert('test'); 
       } 
     }, 3000); 
}); 

但它會影響所有的職位,如本fiddle

回答

0

首先看見,ID的必須是唯一的!其次,你將不得不循環這些div的每一個,並單獨檢查類,然後從那裏去,但爲什麼這樣做時,你可以循環類檢查並將類添加到錨點:

$(".thumbs-rating-voted").each(function() { 
    $(this).prev("p").find("a").addClass("hide-voted-image"); 
}); 

或者,正如很好指出的@DavidThomas

$(".thumbs-rating-voted").prev("p").find("a").addClass("hide-voted-image") 
+2

我不認爲你需要的'每()',我敢肯定,你可以鏈:'$(」拇指評級(「a」)。addClass(「hide-voteed-image」);' –

+1

@DavidThomas - Ahh yup - 忽略了,編輯和添加,謝謝! – tymeJV

+0

jquery的新手,開始掌握它,謝謝!它創造了奇蹟 – Ming