如何组合这些jQuery语句?

时间:2014-04-10 10:29:26

标签: javascript jquery

我有一个像这样的jQuery语句;

var current = $(this);
current.hide();
current.siblings('.ab').hide();
current.siblings('.cd').hide();

我想把它改成一个单一的陈述,我写了;

$(current,current.siblings('.ab'),current.siblings('.cd')).hide();

ab并未隐藏。如何将3个hide()语句组合成一个?

5 个答案:

答案 0 :(得分:8)

您可以使用multiple selectoraddBack()

$(this).siblings(".ab, .cd").addBack().hide();

addBack()会将原始元素添加回集合中,因此您可以在同一个jQuery对象中同时获取元素及其相关的兄弟元素。

答案 1 :(得分:3)

尝试使用.end()

current.siblings(".ab, .cd").hide().end().hide();

或使用.add(),如下所示,

current.add(current.siblings(".ab, .cd")).hide();

答案 2 :(得分:3)

您可以为siblings函数使用多重选择器(逗号分隔),而不是使用addBack来包含第一个元素。

  

将堆栈上的前一组元素添加到当前集合中,   可选择由选择器过滤。

代码:

current.siblings(".ab, .cd").addBack().hide();

答案 3 :(得分:2)

试试这个:

   var current = $(this);

    current.hide().siblings('.ab').hide().end().siblings('.cd').hide();

答案 4 :(得分:1)

您可以在.siblings()

中使用逗号分隔的多个选择器
 current.siblings('.cd,.ab').addBack().hide();

<强> Working Demo