jquery - 编写多个 "not equal"属性选择器的更简单方法?

标签 jquery jquery-selectors selector

我目前有一个如下所示的选择器:

$("span[row!='2'][row!='5'][row!='1']");

有没有更简单的写法?我尝试过,但没有成功:

$("span[row!='1,2,5']");

最佳答案

不,无法以这种方式组合不相等的选择器。结果将被解释为字符串 '1,2,3' 而不是单个值。你必须列举这些案例。

您可以编写一个函数来使其更容易编写。例如

var makeNotEquals = function(name) {
  var clause = '';
  for (var i = 1; i < arguments.length; i++) {
    clause = clause + '[' + name + '!=\'' + arguments[i] + '\']';
  }
  return clause;
}

使用

var selector = 'span' + makeNotEquals('row', 2, 1, 5);
$(selector) 

关于jquery - 编写多个 "not equal"属性选择器的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8449168/

相关文章:

css - Google Maps API v3,通过动态调整大小验证信息窗口中的 html 表单

jquery - Twitter Bootstrap : multiple modal on same page, 想要不同的背景颜色

jquery - 这是偶数还是奇数元素?

ios - performSelector:withObject 仅在 iPad 上发送错误的对象

jquery - 如何使用 jQuery 获取 JIRA 票证状态

javascript - 为什么我的 JSONP 请求给出 Uncaught SyntaxError : Unexpected token < (less than)?

jquery - 使用 jquery 选中和取消选中 CheckBox

javascript - 按视觉顺序接收元素列表

objective-c - @selector 和其他类(Objective-C)

android - 如何在选择器的可绘制对象中应用色调?