2014-10-17 2 views
0

У меня есть следующие структурыКак выбрать второй ребенок с помощью родительского JQuery

<div class="a"> 
    <button type="button" class="btn btn-default btn-sm" id="proccesing-btn-down">...</button> 
    <button type="button" class="btn btn-default btn-sm" id="proccesing-btn-up" style="display: none;">...</button> 
</div 

У меня есть onclick функцию, которая при нажатии на proccesing-btn-down Я хочу, чтобы скрыть кнопку вверх и показывать вниз один.

$(this).hide(); 
var btn = $(this).parent().$("#proccesing-btn-up"); 
$(btn).show(); 

скрыть это - работает. В чем проблема во второй и третьей строках?

+1

'$ (this) .parent(). $ (" # Proccesing-btn-up ");' недопустимо jQuery. Вы имеете в виду '$ (this) .siblings (selector)'? – George

+0

Да, спасибо! – USer22999299

ответ

2

Если они являются единственными элементами в DIV вы можете сделать следующее:

$('.btn.btn-default').on('click', function(){ 
    $(this).hide().siblings().show(); 
}): 

FIddle

Если они не вы должны будете пройти селектор siblings('.btn'), чтобы узнать больше проверьте documentation.

+0

отсутствует '$()' ... '$ (this)'? –

+0

Кроме того, 'siblings' – P5Coder

+1

Oups, кофе еще не приветствует ребята ^^ –

2

Попробуйте это:

$(this).hide(); 
$(this).siblings().show(); 
1

Ближайший будет искать ближайший в DOM элементов с классом.

$(this).hide(); 
var btn = $(this).closest('.a').find("#proccesing-btn-up"); 
$(btn).show(); 
Смежные вопросы