jquery选择器:如何使用jquery选择父级的子级?
我想知道如何使用JQuery选择父对象的子对象 我有以下几点jquery选择器:如何使用jquery选择父级的子级?,jquery,css-selectors,parent,Jquery,Css Selectors,Parent,我想知道如何使用JQuery选择父对象的子对象 我有以下几点 $("#navigation a.subpage").click(function () { $("#navigation ul ul")... HTML如下所示 <li> <a class="subpage"...</a> <ul style="hidden">...</ul> </li> 我需要以某种方式选择链接的父级。那会给我相关的李。然后我需要选
$("#navigation a.subpage").click(function () {
$("#navigation ul ul")...
HTML如下所示
<li>
<a class="subpage"...</a>
<ul style="hidden">...</ul>
</li>
我需要以某种方式选择链接的父级。那会给我相关的李。然后我需要选择ul并切换它。如何做到这一点?保持简单:
$("a.subpage").click(function() {
$(this).next().toggle();
return false;
});
在事件处理程序中,它是事件的源,即链接
编辑:下一步是否合适的问题。当然,如果标记不同,则使用不同的链。实现相同结果的方法有很多,例如:
$(this).siblings("ul").toggle();
但是如果链接在一个段落内呢
$(this).closest("li").children("ul").toggle();
但是如果列表不是直接的孩子呢
等等。所有这些都是合理的方法,但要保持简单:编写jQuery代码以适应标记,而不是试图迎合那些不会发生、也可能永远不会发生的事情。保持简单:
$("a.subpage").click(function() {
$(this).next().toggle();
return false;
});
在事件处理程序中,它是事件的源,即链接
编辑:下一步是否合适的问题。当然,如果标记不同,则使用不同的链。实现相同结果的方法有很多,例如:
$(this).siblings("ul").toggle();
但是如果链接在一个段落内呢
$(this).closest("li").children("ul").toggle();
但是如果列表不是直接的孩子呢
等等。所有这些都是合理的方法,但要保持简单:编写jQuery代码以适应标记,而不是试图迎合那些不会发生、也可能永远不会发生的事情。$this.parent.find'ul'。toggle$this.parent.find'ul。toggle如果它总是下一项,那么它就会起作用,如果在使用过程中可能出现以下情况:
$("#navigation a.subpage").click(function() {
$(this).siblings('ul').toggle();
return false;
});
:如果它是下一个项目,则始终有效,如果在使用之间可能有一些东西,如:
$("#navigation a.subpage").click(function() {
$(this).siblings('ul').toggle();
return false;
});
:或者您可以将导航保留在选择器的上下文中以进行优化:$a.子页面,导航。单击…我更喜欢$this.下一个'ul'。切换;//如果中间添加了某个元素,请小心。如果中间添加的元素是另一个元素,则问题仍然存在@mohang:“下一步”不是这样工作的…我同意这不是直观的,请参阅我在下一个文档页上的评论。下一步的文档页:您需要。下一步的“ul:first”。或者您可以将导航保留在选择器的上下文中以进行优化:$a.subpage,navigation.click…我更喜欢$this。下一步的“ul”。toggle;//如果中间添加了某个元素,请小心。如果中间添加的元素是另一个元素,则问题仍然存在@mohang:“下一步”不是这样工作的……我同意这不是直观的,请参阅我在下一文档页上的评论。下一步文档页:您需要。下一步是“ul:第一步”。