JQuery-选择精确的类结构

JQuery-选择精确的类结构,jquery,html,css,class,Jquery,Html,Css,Class,我正在为一个网站开发一些功能。我在设计,我被一些小东西卡住了。我想隐藏包含精确类结构的div 例如,如果我给它类选择器“.class1.class2.class3”,它将只隐藏具有确切类结构的元素。我现在所做的是隐藏像“.class1.class2.class3.class4”这样的元素,我不希望这样 任何帮助都将不胜感激 在这种情况下,您可以使用: 您还可以使用方法链接来完成此操作: $('.class1.class2.class3').not('.class4') 请注意,这不一定选择完全

我正在为一个网站开发一些功能。我在设计,我被一些小东西卡住了。我想隐藏包含精确类结构的div

例如,如果我给它类选择器“
.class1.class2.class3
”,它将只隐藏具有确切类结构的元素。我现在所做的是隐藏像“
.class1.class2.class3.class4
”这样的元素,我不希望这样


任何帮助都将不胜感激

在这种情况下,您可以使用:

您还可以使用方法链接来完成此操作:

$('.class1.class2.class3').not('.class4')

请注意,这不一定选择完全
.class1.class2.class3
,而不选择其他类,它只会阻止选择任何带有
class4
的对象。

如果要匹配只有这三个类名的对象,并且希望对类名的顺序或它们之间的空白量不敏感,则可以这样做:

$('.class1.class2.class3').filter(function() {
     return(this.className.replace(/class1|class2|class3/g, "").replace(/\s*/g, "") == '');
});
$('.class1.class2.class3').not('.class4')
如果只想排除特定的其他类,则可以这样做:

$('.class1.class2.class3').filter(function() {
     return(this.className.replace(/class1|class2|class3/g, "").replace(/\s*/g, "") == '');
});
$('.class1.class2.class3').not('.class4')

您的意思是
.class1.class2.class3
对象没有其他类名吗?或者是什么确切的标准使它不匹配?您还没有很好地定义问题,无法提供代码解决方案。这正是我想要的!我也可以做一些类似于
:not(.class4.class5)
的事情吗?我想那应该是犹太教的,但仅供参考@Giovonni,是的,您可以将任何选择器放入
:not()
。所以
:not(.class4.class5)
可以正常工作。