使用 jquery 切换兄弟姐妹
Posted
技术标签:
【中文标题】使用 jquery 切换兄弟姐妹【英文标题】:Toggle siblings with jquery 【发布时间】:2013-04-19 06:59:48 【问题描述】:我在 jquery 中遇到了 toggle() 的问题。见http://jsfiddle.net/rch7L/。单击 1 级标题时,它会执行应有的操作,但单击 2 级标题时,它会打开所有 3 级行,而不仅仅是 2 级标题下的 3 级行。
$('tr.level-2, tr.level-3').css("display", "none");
$("tr.level-1").click(function()
$(this).siblings('tr.level-2').toggle();
);
$("tr.level-2").click(function()
$(this).siblings('tr.level-3').toggle();
);
我尝试过使用siblings(),但在单击2 级标题时它不是我想要的。
【问题讨论】:
【参考方案1】:只需使用.nextUntil()
方法
LIVE DEMO
$("tr.level-2").click(function()
$(this).nextUntil('tr.level-2').toggle();
);
【讨论】:
喜欢这些不常见的关于函数的小jQuery。 @ChrisDixon 是的,不错的小方法 :) 可爱。如果我打开第 3 级行并单击第 1 级,则只有第 2 级标题会折叠,第 3 级仍然可见。我猜siblings().toggle()
在其他函数中也是错误的做法?以上是关于使用 jquery 切换兄弟姐妹的主要内容,如果未能解决你的问题,请参考以下文章
如何使用JQuery在输入中选择其孩子在最后一个不为空的父级的上一个兄弟姐妹
(CSS / jQuery/ XPath) 用于从姐妹/兄弟节点 (DOM) 获取内部文本的选择器