jQuery addClass到所有带有Class的Elements

Tod*_*ddN 4 each jquery addclass find

我想在类'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');
Run Code Online (Sandbox Code Playgroud)

Ale*_*x K 8

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

$(function() {
  $('.specialprice').each(function() {
    $(this).find('.priceis').addClass('strike');
  });
}
Run Code Online (Sandbox Code Playgroud)

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

$('.specialprice').each(function() {
  $(this).find('*').addClass('strike');
});
Run Code Online (Sandbox Code Playgroud)


Jon*_*nas 7

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


Bru*_*oLM 6

你的HTML错了

<span id="priceis">
Run Code Online (Sandbox Code Playgroud)

你可能想要设置class而不是id.

<span class="priceis">
Run Code Online (Sandbox Code Playgroud)

如果修复HTML,您当前的代码将起作用.

您可能希望看到这个答案,它解释了为什么脚本在DOM元素之前包含时不起作用.

  • @ToddN这个脚本在哪里运行?`$(document).ready`?它必须至少在所有DOM节点渲染之后执行.把你的脚本放在所有这些元素之后. (2认同)