搜索每个列表项中的项

时间:2015-12-29 15:07:34

标签: javascript jquery

我正在处理一段代码,以检查列表项中是否存在名为星级的div。如果它没有激动,请在价格标签上添加额外的保证金(这样我就可以平衡这些项目)。我的JQuery如下所示

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

此代码在某一点上运行良好。它在技术上做的是它不检查特定列表项而是整个文档。有没有办法可以检查特定的列表项并添加到该项中的span.price css?因为现在它找到了4倍的星级(4个列表项),而它只在一个列表项中。

3 个答案:

答案 0 :(得分:2)

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

将上下文参数添加到jQuery方法

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

$('li.product').not(':has(.star-rating)').find("span.price").css({"margin-top" : "1em"});

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

相关问题