javascript - 如何选择多个元素的 siblings()?

标签 javascript jquery

假设我有一个 <dl>所有<dd>是隐藏的。点击 <dt>切换 <dd>使用以下代码跟随它:

$(this).nextUntil('dt').toggle();

http://jsfiddle.net/mblase75/FZQj7/

现在,我想自动隐藏 <dd>我跟在另一个人后面 <dt> s,所以我尝试用这段代码捕获 sibling :

$(this).nextUntil('dt').toggle()
    .siblings().filter('dd').hide();

http://jsfiddle.net/mblase75/FZQj7/1/

但是没有任何反应,因为每个 <dd>我已经选择了 .nextUntil是彼此的 sibling 。结果,它们都被隐藏了,什么也没有显示。

必须有一种紧凑的方式告诉 jQuery 选择所有的 sibling ,除了那些我已经选择但我看不到的 sibling 。想法?

最佳答案

这个怎么样?注意 not 函数的使用,which you can read about here .

http://jsfiddle.net/lbstr/FZQj7/6/

$('dt').on('click',function() {
    var $this = $(this),
        $firstGroup = $this.nextUntil('dt');
    $firstGroup.toggle();
    $this.siblings('dd').not($firstGroup).hide();
});​

关于javascript - 如何选择多个元素的 siblings()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582035/

相关文章:

javascript - 如何使用 javascript 找出模式对话框的宽度和高度?

javascript - 如何在 node.js Express 2.5.5 的单独路由文件中访问主 app.js 中声明的变量?

javascript - 通过 jQuery 将脚本附加到 head 时是否需要 setTimeout?

javascript - 为什么它在 IE 7 中无法正常工作?

javascript - 用另一个 HTML 替换 HTML 标签

jquery - youtube.com/iframe_api不会在Windows 10的IE11或Edge中触发

javascript - t.replace 不是一个函数(…)trim

javascript - 如何从 LocalStorage 读回数据

javascript - 类确实存在但未找到

php - 在模态窗口和ajax请求中显示轮播