Прикрепите обработчик щелчка к соответствующему <span>
. Внутри функции обработчика перейдите к интересующим узлам, используя методы обхода дерева .
Некоторые селекторы, которые могут быть полезны здесь:
[X] > [Y] // select all Y that are children of X
[X] [Y] // select all Y that are descendants of X
Пример)
$("#main_li > span")
// selects:
// <span>products</span>
$("#main_li span")
// selects:
// <span>products</span>
// <span>products_cat_1</span>
// <span>products_cat_1_milk</span>
// <span>products_yoghurt</span>
// <span>products_butter</span>
Предполагая, что вы прикрепили обработчик кликов к <span>products</span>
, и внутри обработчика кликов вы хотите перейти ко всем <li>
дочерним элементам, которые находятся на том же уровне, что и этот диапазон, вы можете сделать:
$("#main_li > span").click(function() {
$(this).siblings("ul").children("li").each(function() {
// do something with each <li>
});
});