<li>
<a class="handle" href="abc.htm">TopLink</a>
<ul class="container">
<li>
<a href="xyz.htm">SubLink1</a>
</li>
</ul>
</li>
点击TopLink(class =“handle”);
问题:如何以这样的方式编写jQuery选择器,每当我点击TopLink时选择ul class =“container”
喜欢的东西; $(this)。(使用classname =“container”获取下一个UL)
答案 0 :(得分:12)
如果它始终是HTML的结构,您只需使用next
:
$(".handle").click(function() {
var ul = $(this).next();
});
如果链接与ul
之间可能存在元素,您可以使用siblings
获取与选择器匹配的所有元素:
$(".handle").click(function() {
var uls = $(this).siblings("ul.container");
});
虽然那也会得到前面的兄弟姐妹。要获得以下兄弟姐妹,您可以使用nextAll
:
$(".handle").click(function() {
var uls = $(this).nextAll("ul.container");
//You can then use `.eq(0)` to get the closest matching sibling:
var sibling = uls.eq(0);
});