在 jquery 而非选择器中具有 2 个类的目标元素

Posted

技术标签:

【中文标题】在 jquery 而非选择器中具有 2 个类的目标元素【英文标题】:Target element with 2 classes inside a jquery not selector 【发布时间】:2016-07-09 04:09:34 【问题描述】:

我似乎无法让它工作,它可能很简单,但我们开始吧:

这是我的选择器,我想查找同时具有 selection[0] 和 selection[1] 类的元素,但这不会查找同时具有这两个类的元素。据我所知,它只抓取第一个选择类并寻找它。

$(this).not("." + selection[0], "." + selection[1]).hide();

我试过像这样手动输入它,它可以工作:

$(this).not(".class1.class2").hide();

我猜逗号分隔选择器,它在那里出错了。但是,我怎样才能实现相同的功能?

【问题讨论】:

$(this).not("." + selection[0] + "." + selection[1]).hide(); - 使用+ 连接这两个字符串... 【参考方案1】:

这一行

$(this).not("." + selection[0], "." + selection[1]).hide();

有语法错误(不是从 JS 的角度来看,而是从 jquery 选择器的角度来看)

做起来

$(this).not("." + selection[0] + "." + selection[1]).hide(); //replaced comma with + 

【讨论】:

实际上并不是语法错误(这种逗号操作符的使用是有效的javascript),但是会导致选择器无效。 @FrédéricHamidi only 是一个错字:)【参考方案2】:

将逗号, 替换为+ 以连接selection[0] 与点.

$(this).not("." + selection[0] + "." + selection[1]).hide();

【讨论】:

谢谢,成功了。通过查看谷歌很难找到这样的答案,因为它并不容易制定。感谢您的帮助!

以上是关于在 jquery 而非选择器中具有 2 个类的目标元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery - 从选择器中排除具有特定值的输入

Robot Framework - 从不同位置导入具有 2 个类的库

ValueError:检查目标时出错:预期activation_6具有形状(无,2)但得到的数组具有形状(5760,1)

如何在 jquery 选择器中传递 php 变量值?

具有共享类的引用 DLL

Jquery,在具有相同类的所有锚点之后选择第一个下一个元素