Если вам нужно сделать это много, и нет лучшего способа решить эту проблему, прикрепив соответствующие классы к одинаковым группам строк, то вы можете написать короткий плагин jQuery, чтобы вы могли передавать массив строк числа, как это:
$("span[row]").filterAttribute("row", ['1','2','5'], true)
И это реализация этого:
$.fn.filterAttribute = function(attr, values, reverse) {
var remaining = [];
this.each(function(index, el) {
for (var i = 0; i < values.length; i++) {
if (el.getAttribute(attr) == values[i]) {
remaining.push(el);
break;
}
}
});
if (reverse) {
return(this.not(remaining));
} else {
return($(remaining));
}
}
Вы можете увидеть его здесь: http://jsfiddle.net/jfriend00/WwrSY/
Обратите внимание, что нормальная работа этого плагина состоит в том, чтобы фильтровать элементы из объекта jQuery так, чтобы элементы, которые не совпадают, удалялись, возвращая новый объект jQuery с указанными элементами как единственные сохраненные (как работает jQuery .filter()
Третий параметр может изменить фильтр так, что указанные элементы будут удалены, а не сохранены, что и было запрошено OP с их синтаксисом! =
Из-за чудес автоматического преобразования типов это также можно использовать следующим образом со значениями, передаваемыми в виде чисел:
$(".aaa").filterAttribute("row", [1, 2, 3], true)