【问题标题】:Target element with 2 classes inside a jquery not selector在 jquery 而非选择器中具有 2 个类的目标元素
【发布时间】: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(); - 使用+ 连接这两个字符串...

标签: javascript jquery jquery-selectors selector


【解决方案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();

【讨论】:

  • 谢谢,成功了。通过查看谷歌很难找到这样的答案,因为它并不容易制定。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2013-10-21
  • 2011-11-30
  • 1970-01-01
  • 2014-08-07
  • 2011-01-10
  • 2017-09-22
  • 2011-03-02
  • 1970-01-01
相关资源
最近更新 更多