4 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先,您的 HTML 無(wú)效。您使用的所有元素均無(wú)效。你需要糾正這個(gè)問題。我在下面的示例中這樣做了,但顯然這是對(duì)您的 UI 做出假設(shè)。
要解決您的問題中提出的問題,您可以使用:has選擇器
$('.product:has(.out-of-stock-icon) .thumbnail').addClass('oos');
.oos {
opacity: 0.8;
}
img {
display: block;
width: 50px;
height: 50px;
background-color: #C00;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="product" id="product-1">
<div class="thumbnail">
<img />
</div>
<div class="detail">In stock</div>
</div>
<div class="product" id="product-2">
<div class="thumbnail">
<img />
<span class="out-of-stock-icon"></span>
</div>
<div class="detail">Out of stock</div>
</div>
<div class="product" id="product-3">
<div class="thumbnail">
<img />
<span class="out-of-stock-icon"></span>
</div>
<div class="detail">Out of stock</div>
</div>

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
在您的情況下,您需要使用parent()(方法遍歷 DOM 樹中每個(gè)元素的直接父級(jí)) 并且 該css方法為所選元素設(shè)置或返回一個(gè)或多個(gè)樣式屬性。
JavaScript
<script>
var elements = Array.from(document.querySelectorAll(".out-of-stock-icon"));
for(var i=0; i < elements.length;i++) {
elements[i].parentNode.style.opacity = 0.5;
}
</script>
jQuery
<script>
$(".out-of-stock-icon").parent().css('opacity', 0.5);
</script>

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
你需要的是jquery的parent()
函數(shù)。它為您提供層次結(jié)構(gòu)中第一個(gè)匹配選擇器的父級(jí)。所以,
$('product?.out-of-stock-icon').parent('thumbnail').css('opacity',?'0.8');

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
您必須檢查out-of-stock-icon產(chǎn)品內(nèi)是否存在任何具有類別的項(xiàng)目。
$("product").each(function(){
if($(this).find(".out-of-stock-icon").length)
$(this).find("thumbnail").css("opacity", 0.2);
});
$("product").each(function(){
if($(this).find(".out-of-stock-icon").length)
$(this).find("thumbnail").css("opacity", 0.2);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<product id="product-1">
<thumbnail>
Product 1
<img>
<!-- This product does not have the out-of-stock-icon -->
</thumbnail>
<detail></detail>
</product>
<product id="product-2">
<thumbnail>
Product 2
<img>
<span class="out-of-stock-icon"></span>
</thumbnail>
<detail></detail>
</product>
<product id="product-3">
<thumbnail>
Product 3
<img>
<span class="out-of-stock-icon"></span>
</thumbnail>
<detail></detail>
</product>
- 4 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報(bào)