【问题标题】:Can you filter an existing jquery object by context?您可以按上下文过滤现有的 jquery 对象吗?
【发布时间】:2013-02-03 20:52:34
【问题描述】:

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

这是一个例子:

var cached = $('.elements');

稍后我想在不创建另一个选择器的情况下按上下文过滤这个数组。如果我只是创建另一个选择器来做我想做的事情,它看起来像这样:

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

【问题讨论】:

  • “我可以这样做吗”我会说是的,但你的问题不清楚。请举个例子
  • 你能把你的代码贴在这里吗?
  • pebbl 建议的帖子很有帮助。

标签: javascript jquery


【解决方案1】:

我没有完全理解你的要求,如果我没记错的话,你可以使用.not(http://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>

【讨论】:

    猜你喜欢
    • 2018-07-06
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 2011-01-22
    • 2020-12-22
    • 1970-01-01
    • 2021-01-24
    • 2018-12-31
    相关资源
    最近更新 更多