2016-04-26 75 views
0

如果另一個元素具有類,則嘗試向元素添加類 - 在這種情況下,當類.orderitem存在時,我想給.addinfo.col7一類outofstock。這是我到目前爲止:如果類只存在於父容器中,則將類添加到子元素

if ($(".stockinfo.col4").hasClass("orderitem")) { 
    $(".stockinfo.col7").addClass("outofstock"); 
} 

的問題是,我有幾組相同的類 - 這一點讓全班同學個個即使孩子鴕鳥政策有這個類。我如何運行它,以便它只在父容器上執行?

<div class="itembox centerbox col span_1_of_3"> 
    <div class="stockinfo col4 orderitem"> 
     <strong>Stock</strong> 
     : 4 
     <span></span> 
    </div> 
    <div class="addinfo col7"> 
     <input type="button" id="pl237792buy" class="actionbutton" value="Köp" onclick="buy(this, 237792, null, 'pl237792qty', null, '/ajax/buy')"> 
    </div> 
</div> 

回答

0

orderitem不是stockinfo div的父。它的兄弟姐妹,你可以使用.siblings()方法爲

if ($(".stockinfo.col4").siblings(".orderitem").length) { 
    $(".stockinfo.col7").addClass("outofstock"); 
} 
1

您可以使用next()方法像以下。

$(".stockinfo.col4.orderitem").next(".addinfo.col7").addClass("outofstock") 

UPDATE:

$(".stockinfo.col4.orderitem").nextAll(".addinfo.col7").addClass("outofstock") 
+0

嗨!我剛剛意識到,在一些小組之間還有另一種情況 - 所以接下來並不適用於所有小組。 – user2059370

+0

然後使用'nextAll()'。查看更新。 @ user2059370 – Azim

1

你也可以做象下面這樣:

$(".stockinfo.col4.orderitem").parent().find(".addinfo.col7").addClass("outofstock"); 
相關問題