Я работаю над панелью навигации, на которой отображается выпадающее меню. Сценарий просто переключает класс для его отображения.Почему jQuery дочерний селектор нацелен на родителя?
$(".dropdown-btn").click(function() {
$(this).children(".dropdown").toggleClass("expanded");
});
Добавить стили, это работает.
.dropdown {
display: none;
}
.dropdown.expanded {
display: block;
}
Проблема возникает, когда я добавляю вложенное выпадающее меню. Когда я нажимаю на вложенный «.dropdown-btn», скрипт переключает класс раскрывающегося списка (как предполагается) , но он также переключает класс родителя! Чтобы лучше объяснить, что я имею в виду, осмотрите скрипку здесь: http://jsfiddle.net/3rm3ny1j/
У меня есть два вопроса. В чем причина такого поведения? Какое лучшее решение?
Я исследовать, как эта функциональность snipit работает здесь. До сих пор я видел, как большинство людей объясняло несколько проблем с кодом JSFiddle. – harrypujols
JSFiddle был дольше, чем snipits, и, исторически, был хорошим способом показать живые демоверсии, но его никогда не считали приемлемым, чтобы вопрос был зависеть от JSFiddle, чтобы он мог его понять. – Quentin