jQuery 提示不是类选择器

是否有一个简单的选择器表达式来不选择具有特定类的元素?

我只想拿到前三节课,试一试

$(div[class^="first-"][class!="first-bar"])

但这将接收所有,因为最后一个div包含比第一个栏更多的内容。是否有一种方法可以在这样的表达式中使用占位符?就像这样

$(div[class^="first-"][class!="first-bar*"]) // doesn't seem to work

还有其他有用的选择器吗?

418546 次浏览

你需要:not()选择器:

$('div[class^="first-"]:not(.first-bar)')

或者,.not()方法:

$('div[class^="first-"]').not('.first-bar');

你可以使用:not筛选器:

$('foo:not(".someClass")')

not()方法:

$('foo').not(".someClass")

更多信息:

jQuery选择器可以在"not"方法:

$('div[class^="first-"]').not($('.first-bar'))

它也适用于jQuery事件与:not()选择器。

就像这样:

jQuery(document).on('click', '.fo-line:not(.deleted) .clickable', function(e) {
e.preventDefault();
// do your stuff...
});

在我的例子中,我启用了单击<tr class="fo-line">的每个<td class="clickable">,期望所有的deleted类(<tr class="fo-line deleted">)