我正在处理一段代码,以检查列表项中是否存在名为星级的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个列表项),而它只在一个列表项中。
答案 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的用途......