Я вызываю функцию с идентификатором. Этот идентификатор должен использоваться для .show()
Элемент (ы), соответствующий селектору, и .hide()
все это не так.Показать/скрыть элементы в одной строке?
function showAndHide(id){
$('.container div').hide();
$('.container div[data-id="'+id+'"]').show();
}
Есть ли более умный способ, чем это? Я хочу избежать записи части селектора дважды (.container div
) и получить более четкую нотацию.
Я думаю, что этот способ просто отлично. – tymeJV
Если вы хотите сделать что-то «более холодное», вы должны попробовать другую Framework, jQuery имеет избыточный вес для этой цели. Но если у вас есть большая база кода в jQuery, это лучшее решение. –
Если вы хотите, вы должны переписать его в одной строке: $ ('. Container div'). Hide ('fast', function() {if ($ (this) .data ('id') == id) $ (this) .show();}); Но ваш код хороший. –