我想将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');
答案 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');