2015-05-21 3 views
0

Я пытаюсь понять, почему это не работает. У меня есть div, который я бы хотел открыть, если у него есть один или несколько детей span с классом .reqiredError.Показать родительский DIV, если дочерние объекты имеют класс

См 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); 
    } 
}); 

ответ

0

Вы можете найти целевой элемент, то использовать. ближайший() найти целевой элемент предок

$(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>

closest vs has

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>

Смежные вопросы