【问题标题】:Searching for item in each list item在每个列表项中搜索项
【发布时间】:2015-12-29 15:07:34
【问题描述】:

我正在编写一段代码来检查列表项中是否有一个称为星级的 div。如果它不存在,请在价格标签上添加一个额外的边距顶部(这样我就可以平衡这些项目)。我的 JQuery 如下

$(document).ready(function() {
    $("li.product").each(function(){
        if($(".star-rating").length === 0) {            
            $("span.price").css({"margin-top" : "1em"});
        }
    });
});

这段代码在一定程度上可以正常工作。它在技术上所做的是它不检查特定的列表项,而是检查整个文档。有没有办法我可以检查特定的列表项并将css添加到该项目中的span.price?因为现在它找到了 4 倍的星级(4 个列表项),而它只在一个列表项中。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    在每个"li.product"下搜索:

    $("li.product").each(function(){
        if($(this).find(".star-rating").length === 0) {            
            $(this).find("span.price").css({"margin-top" : "1em"});
        }
    });
    

    【讨论】:

      【解决方案2】:
      if($(".star-rating",this).length === 0) {            
                  $("span.price",this).css({"margin-top" : "1em"});
              }
      

      为 jQuery 方法添加上下文参数

      【讨论】:

        【解决方案3】:
        $('li.product').not(':has(.star-rating)').find("span.price").css({"margin-top" : "1em"});
        

        没有“if”和“each”,这就是 Jquery 的用途......

        【讨论】:

          猜你喜欢
          • 2015-08-31
          • 1970-01-01
          • 2020-04-05
          • 1970-01-01
          • 1970-01-01
          • 2014-04-21
          • 1970-01-01
          • 1970-01-01
          • 2023-02-01
          相关资源
          最近更新 更多