我在jquery对象中有一些缓存的元素。我现在想通过上下文过滤它们。我可以这样做,还是我需要使用我的选择器创建另一个jquery对象,同时还使用第二个上下文参数?
以下是一个例子:
var cached = $('.elements');
稍后我想通过上下文过滤此数组而不创建另一个选择器。如果我只是创建另一个选择器来做我想做的事情,它将如下所示:
//in event listener
var parent = $(this).closest('.parent');
$('.elements', parent).removeClass('class');
答案 0 :(得分:0)
我不完全理解您的要求,如果我没有出错,您可以使用.not
(http://api.jquery.com/not/)
<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>