jQuery选择过滤和排除

时间:2013-10-02 15:56:14

标签: javascript jquery css

我正在尝试选择不是传递给函数的元素的所有类.Tag

这是我得到的:

$("a.tag").filter(":visible").not("\"[id='" + aTagID + "']\"").each(
    function place(index, element) {
        log("  checking element " + element.id);
});

aTagID传递给此函数,并且是我想从选择中排除的调用元素的ID。 log是一个只执行console.log的函数。

以下是我在控制台中获得的内容:

Uncaught Error: Syntax error, unrecognized expression: "[id='t1']"

3 个答案:

答案 0 :(得分:3)

尝试使用过滤器中的:not以及使用ID选择器#

$("a.tag").filter(":visible:not(#" + aTagID + ")").each(function() {

答案 1 :(得分:2)

不应该:

$("a.tag").filter(":visible").not("\"#id='" + aTagID\")").each(function() {

.not() jQuery方法需要一个选择器。我不相信"[id='t1']"会起作用。

或者您可以尝试使用:not选择器:

$("a.tag").filter(":visible:not(#" + aTagID + ")").each(function() {

答案 2 :(得分:2)

只需在一个选择器中执行(#可以用来代替id的属性选择器):

$("a.tag:visible:not(#" + aTagID + ")").each(