您可以按上下文过滤现有的jquery对象吗?

时间:2013-02-19 08:32:18

标签: javascript jquery

我在jquery对象中有一些缓存的元素。我现在想通过上下文过滤它们。我可以这样做,还是我需要使用我的选择器创建另一个jquery对象,同时还使用第二个上下文参数?

以下是一个例子:

var cached = $('.elements');

稍后我想通过上下文过滤此数组而不创建另一个选择器。如果我只是创建另一个选择器来做我想做的事情,它将如下所示:

//in event listener
var parent = $(this).closest('.parent');
$('.elements', parent).removeClass('class');

1 个答案:

答案 0 :(得分:0)

我不完全理解您的要求,如果我没有出错,您可以使用.nothttp://api.jquery.com/not/

http://jsfiddle.net/kcy3f/

<span class="a">a1</span>
<span class="a">a2</span>
<span class="b">b3</span>
<span class="b">b4</span>

<script>
var all = $('span');
all.css("background", "#F99");
all = all.not(".a"); // remove class 'a' element
all.css("background", "#9F9");
</script>