1

我正在尝试选择不是传递给函数的元素的所有类 .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']"
4

3 回答 3

3

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

$("a.tag").filter(":visible:not(#" + aTagID + ")").each(function() {
于 2013-10-02T15:58:58.537 回答
2

不应该是:

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

.not () jQuery 方法采用选择器。我不相信"[id='t1']"会奏效。

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

$("a.tag").filter(":visible:not(#" + aTagID + ")").each(function() {
于 2013-10-02T15:59:12.140 回答
2

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

$("a.tag:visible:not(#" + aTagID + ")").each(
于 2013-10-02T16:00:22.027 回答