我正在为网站开发一些功能。我正在设计,而且我有点小事。我想隐藏包含精确类结构的div。
例如,如果我给它类选择器“.class1.class2.class3
”,它将只隐藏具有确切类结构的元素。我现在正在做的事情会隐藏像“.class1.class2.class3.class4
”这样的元素,我不希望这样。
非常感谢任何帮助!
答案 0 :(得分:3)
在这种特殊情况下,您可以使用.not() selector:
$('.class1.class2.class3:not(.class4)')
您也可以使用方法链进行:
$('.class1.class2.class3').not('.class4')
请注意,这并不一定准确选择.class1.class2.class3
而没有其他类,它只会阻止选择class4
的任何内容。
答案 1 :(得分:1)
我想匹配只有这三个类名的对象,并且你想对类名的顺序或它们之间的空白量不敏感,那么你可以这样做:
$('.class1.class2.class3').filter(function() {
return(this.className.replace(/class1|class2|class3/g, "").replace(/\s*/g, "") == '');
});
如果您只想排除特定的其他类,那么您可以这样做:
$('.class1.class2.class3').not('.class4')