【发布时间】:2021-06-19 06:42:00
【问题描述】:
您好,我正在尝试开展一项活动,让网站上的所有产品都有销售横幅。有些产品已经有销售横幅,但对于其他没有的产品,我想为这些产品添加横幅。我已经能够做到这一点,但我遇到的问题是,如果产品缺货,那么我不希望将销售横幅添加到这些产品中。
我创建了一个 sn-p 试图展示我到目前为止所拥有的东西。
- 产品 1 是已经有销售横幅的产品。
- 产品 2 是没有销售横幅的产品
- 产品 3 是没有销售横幅且缺货的产品
产品 1 有一个销售横幅,因此无需对此进行任何操作。对于产品 2,我希望添加销售横幅,对于产品 3,我不希望添加销售横幅,因为它缺货。
对此的任何帮助将不胜感激。
$(".saleWrapper").each(function(index){
if ($(this).children('.promoText').length === 0){
$(this).append("<span class='promoText'>I'm ALSO on Sale</span>");
}
})
.product-wrapper {
display: inline-block;
border: 1px solid black;
}
.promoText {background: red;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="product-wrapper">
<p>Product 1</p>
<div class="saleWrapper">
<span class="promoText">I'm on Sale</span>
</div>
</div>
<div class="product-wrapper">
<p>Product 2</p>
<div class="saleWrapper"></div>
</div>
<div class="product-wrapper">
<p>Product 3</p>
<div class="saleWrapper"></div>
<div class="productOutOfStock">
<p class="outOfStock">I'm Out Of Stock</p>
</div>
</div>
【问题讨论】:
-
走另一条路:
$(".product-slab__cta").closest(".product-slab__wrapper").find(".product-slab__markdown-promotion").append("<span class='product-slab__markdown-promotion-inner'><span class='promo-text'>ADD MESSAGE</span></span>"); -
@freedomn-m 我已经完全改写了我的问题并更新了我的代码,希望这更有意义
-
标题/代码没有任何问题(问题文本有点令人困惑,但评论澄清了这一点 - 不知道你为什么投反对票)
-
这是一个相关问题,要求“选择 X,除非它有兄弟 Y”(不是兄弟) - 没有选择器,但有解决方法。 stackoverflow.com/questions/7866784/….
-
@freedomn-m 感谢您对此的帮助和解释,非常感谢您!
标签: javascript jquery if-statement conditional-statements