我有一个像这样的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()语句组合成一个?
答案 0 :(得分:8)
您可以使用multiple selector和addBack():
$(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)