jQuery有什么方法可以选择除前一个和下一个之外的所有兄弟元素吗?我已经研究了jquery .removeClass() if NOT .next()但似乎无法找到同时做这两个的方法。此外,谷歌也没有帮助。
谢谢
jQuery有什么方法可以选择除前一个和下一个之外的所有兄弟元素吗?我已经研究了jquery .removeClass() if NOT .next()但似乎无法找到同时做这两个的方法。此外,谷歌也没有帮助。
谢谢
var index = $(this).index();
var $elements = $(this).siblings().filter(function(){
var thisindex = $(this).index();
return thisindex < index-1 || thisindex > index+1;
});
您也可以使用带有lt和gt的字符串选择器,但这意味着连接索引以构建一个选择器,以便 jQuery 在之后解析 if 并执行相同的循环。
var index = $(this).index();
var $elements =$(this).siblings();
$elements = $elements.slice(0, index-1).add($elements.slice(index+1));
尝试这个:
var item = $('selector');
var elements = item.siblings().not(item.prev()).not(item.next());
var $this = $(this)
, $rest = $this.parent().children().not($this.prev()).not($this.next()).not($this);
如果您希望当前元素也包含在结果中,只需删除最后一个不调用。
var $this = $(this)
, $rest = $this.parent().children().not($this.prev()).not($this.next());