[英]Show parent DIV if children spans have class
我試圖弄清楚為什么這不起作用。 我有一個div
,如果它有一個或多個span
子類別為.reqiredError
的類,則希望將其切換為打開.reqiredError
。
參見JSFiddle
<div class="more-content" style="display:none;">
<div class="col-xs-5 form-group">
<label for="dua-status">
Status:
<span class="required">*</span>
<span class="requiredError">Required Field</span>
</label>
<select id="dua-status">
<option>Open</option>
</select>
</div>
</div>
$(document).ready(function() {
if ($('span').hasClass('requiredError')) {
$(this).closest().parent('div.more-content').fadeIn(0);
}
});
您不需要if
語句。
相反,使用:has()將它們作為選擇器的目標。 這樣做的好處是您不必導航到父級,因為上下文將是具有這些范圍的父級div。
$(document).ready(function() { $('div.more-content:has(.requiredError)').fadeIn(0); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="more-content" style="display:none;"> <div class="col-xs-5 form-group"> <label for="dua-status">Status: <span class="required">*</span> <span class="requiredError">Required Field</span> </label> <select id="dua-status"> <option>Open</option> </select> </div> </div>
您可以找到目標元素,然后使用.closest()找到目標祖先元素
$(document).ready(function() { $('.requiredError').closest('.more-content').fadeIn(0); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="more-content" style="display:none;"> <div class="col-xs-5 form-group"> <label for="dua-status">Status: <span class="required">*</span> <span class="requiredError">Required Field</span> </label> <select id="dua-status"> <option>Open</option> </select> </div> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.