2015-06-16 53 views
0

我如何檢查每個div.item,看它是否確實包含span.premium,然後添加一個新的跨越(我們稱之爲span.free)到div.screenshot添加元素到另一個孩子,如果家長不包含

<div id="video1" class="item"> 
 
    <div class="screenshot"> 
 
    <img src="image1.png" /> 
 
    </div> 
 
    <h3>I am Video 1</h3> 
 
</div> 
 
<div id="video2" class="item"> 
 
    <div class="screenshot"> 
 
    <img src="image2.png" /> 
 
    </div> 
 
    <h3>I am Video 2 <span class="premium">P</span></h3> 
 
</div> 
 
<div id="video3" class="item"> 
 
    <div class="screenshot"> 
 
    <img src="image3.png" /> 
 
    </div> 
 
    <h3>I am Video 3</h3> 
 
</div>

+0

你的JS代碼是什麼? – briansol

回答

0

用一行代碼:

$('div.item:not(:has(span.premium))').find('.screenshot').append('<span class="free">NEW SPAN</span>'); 

DEMO:https://jsfiddle.net/wxL2ujf8/

+1

謝謝!奇蹟般有效。 –

0

您可以使用:has():not()each()

$('div.item:not(:has(span.premium))').each(function(){ 
    $('div.screenshot').append('<span class="free"></span>') 
}); 
相關問題