jQuery addClass到所有带有Class的Elements

时间:2011-05-02 18:02:56

标签: jquery find each addclass

我想将class''trick'添加到类'priceis'IF类'specialprice'存在。目前它只是将它放在元素的第一个而不是页面中出现的每个元素。我需要它来检查所有带有'specialprice'类的元素。

<font class="pricecolor colors_productprice specialprice">
    <span class="PageText_L483n">
     <font class="text colors_text"><b>Regular Price:<br> </b></font>
    <span class="priceis">$2,492<sup>.38</sup></span></span>
</font>

$('.specialprice').find('.priceis').addClass('strike');

5 个答案:

答案 0 :(得分:8)

也许是这样的?仍然不确定你的问题的解释,不清楚..

$(function() {
  $('.specialprice').each(function() {
    $(this).find('.priceis').addClass('strike');
  });
}

编辑: 刚意识到也许你想要这样吗?

$('.specialprice').each(function() {
  $(this).find('*').addClass('strike');
});

答案 1 :(得分:7)

$('.specialprice.priceis').addClass('strike');

答案 2 :(得分:6)

您的HTML错误

<span id="priceis">

您可能需要设置class而不是id

<span class="priceis">

Your current code will work if you fix your HTML.

您可能 want to see this answer ,它解释了为什么脚本在DOM元素之前包含时不起作用。

答案 3 :(得分:1)

$('.priceis').each(function(i, item) {

    var $item = $(item);

    if( $item.hasClass('specialprice') || $item.parents('.specialprice') )
    {
        $item.addClass('strike');
    }

});

答案 4 :(得分:0)

试试这个:

$('.specialprice').has('.priceis').addClass('strike');