假设我有一个存储在$e
通过此选择器获得的 JQuery 对象:
var $e = $("input[type='text'][value='" + v + "']");
v
表示$(this).val()
我在.each()
迭代中获得的,但实际上并不重要,它可以是任何数值。
我想创建一个 JQuery 元素集,其中包含$e
、之后的 DOM 元素以及之前的 6 个 DOM 元素$e
。
该函数本身工作得很好,我在每次迭代中都使用这个代码:
var $e = $("input[type='text'][value='" + v + "']");
$e = $e.add($e.next());
for (i=0;i<6;i++)
$e = $e.add($e.prev());
$e.remove();
我想这有点难以解释,所以看看这个JSFiddle。
我已经将上面的代码包装在一个绑定到按钮的匿名函数中,该Remove line 2
按钮会将固定v
值传递给我的脚本。
我是 JQuery 的初学者,即使在阅读了JQuery Selectors 页面之后,我也找不到更简单的方法来做到这一点。我认为,如果我可以指定 jquery 对象数组的范围.siblings()
,或者更具体地说JQuery('prev ~siblings')可以以更简单的方式执行此操作,但我无法弄清楚如何。
HTML 是通过我宁愿避免编辑的 PHP 模板生成的,因此我将接受不包括将给定元素包装在容器/包装器中的答案。
有没有更简单的方法来选择给定 JQuery 选择器的 6 个先前元素而不将它们包装在任何容器或包装器中?