jquery仅在存在文本时添加类

时间:2012-05-13 18:12:26

标签: jquery

这个有点复杂吗? 我有一堆类“.product-grid .item-box”

我希望为描述文字中存在“NEWprod”的人添加 类 描述类名称为“.product-grid .product-item .description”

为什么要用jquery做呢?

我试过

$(document).ready(function () {

if ($(' div.description:contains("חדש1")').length > 0) {
    $(".product-grid .item-box").addClass("newprod");
}

}); 

3 个答案:

答案 0 :(得分:0)

您需要定位特定项目框,您共享的示例将它们全部定位。试试这个:

$(document).ready(function () {

  $('div.description:contains("חדש1")').each(function(){
    $(this).closest(".product-grid").find(".item-box").addClass("newprod");
  });

});

我假设以下HTML,因为我不得不猜测:

<div class="product-grid">
  <div class="item-box">...</div>
  <div class="description">....</div>
</div>

更新:在考虑之后,HTML可能看起来像这样:

<div class="product-grid">
  <div class="item-box">
      <div class="description">....</div>
  </div>
</div>

如果是这种情况,请使用以下代码:

$(document).ready(function () {

  $('div.description:contains("חדש1")').each(function(){
    $(this).closest(".item-box").addClass("newprod");
  });

});

答案 1 :(得分:0)

您的问题不是很明确,但我认为这可以帮助您。

if ($(' div.description').hasClass('חדש')) {
    $(".product-grid .item-box").addClass("newprod");
}

答案 2 :(得分:0)

$(' div.description:contains("חדש1")').each(function() {
    $(this).parent().find(".item-box").addClass("newprod");
});