如果子类具有类xxx,则jquery添加类

时间:2011-02-15 18:00:15

标签: jquery addclass

如果子类具有“PageText_L657n”类,则尝试将类添加到类“pricecolor”的字体标记中。

    <table width="100%" cellspacing="0" cellpadding="0">
  <tbody>
    <tr>
      <td width="64%" valign="top"> Stock Item (Usually Ships Within 24 Hours) <br>
        <font class="text colors_text"><span class="PageText_L483n"><b><span class="PageText_L334n">MSRP</span>: $4,895.00</b> </span></font><br>
        <b><font class="pricecolor colors_productprice"><span class="PageText_L483n"><font class="text colors_text"><b>Regular Price: </b></font> $1,872.34 </span></font></b><br>
        <br>
      <a class="pricecolor colors_productprice"><span class="PageText_L657n"><span style="font-size: 16px; color: rgb(0, 0, 255);">Click To Get Today's Special Price!</span></a></td>
      <td width="36%" align="right"></td>
    </tr>
  </tbody>
</table>

<script>
$(function(){
$(".pricecolor").child().hasClass("PageText_L657n").addClass("ice1");
});

</script>

3 个答案:

答案 0 :(得分:4)

使用:has()选择器:

$('.pricecolor:has(.PageText_L657n)').addClass('ice1');

答案 1 :(得分:3)

编辑:澄清后,您似乎想要这样:

示例: http://jsfiddle.net/WeCCT/2/

$('.PageText_L657n').closest('td').find('.pricecolor').eq(0).addClass('ice1');

这会选择类PageText_L657n的元素,然后获取其最近的祖先<td>,并使用find()(docs)方法查找嵌套的.pricecolor元素和{{3}在添加类之前将方法缩小到第一个方法。


原始回答

如果您想将自己限制为有效的querySelectorAll选择器,请执行以下操作:

$('.PageText_L657n').parent('.pricecolor').addClass('ice1');

首先选择.PageText_L657n元素,然后遍历其父级,如果父级具有.pricecolor类,则添加该类。

答案 2 :(得分:0)

当您是该站点的管理员时,.pageText类仅在标记中。当您未登录时,您的商店不会在前端呈现您的css代码,因为这些类不再存在于源中。我遇到了同样的问题,因为我在登录网站的时候总是在编码。