Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery选择器:如何使用jquery选择父级的子级?_Jquery_Css Selectors_Parent - Fatal编程技术网

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> 我需要以某种方式选择链接的父级。那会给我相关的李。然后我需要选

我想知道如何使用JQuery选择父对象的子对象

我有以下几点

$("#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:第一步”。