2015-06-03 6 views
0

В этом HTML:JQuery показать/скрыть все дети данного элемента

$('#endre_dinmeny').click(function() { 
 
     $('.form-validate').children('.label-visible').hide(); 
 
     $('.form-validate').children('.edit-visible').show(); 
 
    });
<span id="endre_dinmeny" class="col-md-6 bestill-edit2">Endre</span> 
 
<div class="form-validate"> 
 
    <div class="row"> 
 
    <label class="col-md-4"> 
 
     Leveringsfrekvens 
 
    </label> 
 
    <div class="label-visible"> 
 
     view 
 
    </div> 
 
    <div class="edit-visible"> 
 
     edit 
 
    </div> 
 
    </div> 
 
</div> 
 

 

 

Что я делаю так неправильно, что она не делает ничего absolutetly? Я был до почти 48h straigh поэтому, пожалуйста, быть нежным, если вы заметили ошибку нуб, но я устал стучать головой с этим ..

С наилучшими пожеланиями,

ответ

2

Использование find()

$('.form-validate').find('.label-visible').hide(); 
$('.form-validate').find('.edit-visible').show(); 

find('.label-visible') не будет работать, потому что .label-visible не является прямым ребенком.

children() будет искать только прямой потомки. Найти будет искать прямые и вложенные потомки.

Наконец, если у вас есть несколько .form-validate элементов, вы должны сузить контекст с помощью $(this)

$(this).find('.form-validate .label-visible').hide(); 
$(this).find('.form-validate .edit-visible').show(); 
1

Для переключения детей данного элемента, вы должны использовать find. Но самое главное, что вы должны использовать его с текущим элементом, $(this)

$('#endre_dinmeny').click(function() { 
    $(this).find('.form-validate .label-visible').hide(); 
    $(this).find('.form-validate .edit-visible').show(); 
    }); 
+0

Привет Марио, который, кажется, не делать это .. Я предполагаю, что, вероятно, потому, что у меня есть намного больше дивы между .form-validate и divs с .label-visible и .edit-visible. Мне нужно пройти всех дочерних элементов формы-проверки и найти те, у кого есть эти имена, и показать/скрыть их. –

+0

Привет, Зед, селектор «.form-validate .label-visible» находит все ваши ярлыки, видимые внутри формы, validate, это не проблема с тегами между формой и меткой. Я действительно не понимаю, почему не работает :( –

+0

@Zed_Blade, можете ли вы воспроизвести его в скрипке? – AmmarCSE

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