Jquery,目标父div,如果是hasClass

时间:2014-03-25 23:26:00

标签: jquery

我有几个帖子看起来像这样(“测试”是帖子):

<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

所示

1 个答案:

答案 0 :(得分: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")