Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как обратиться к классу + любое число?

Константин Ефименко Гуру (3721), закрыт 4 года назад
Я хочу получить нечто вроде:

AnyNum = new RegExp(/\d+/);
$('.^ord-'+AnyNum).css("display", "none");

Мне необходимо явно указать на то, что в конце класса ".ord-" находится какое-то число, так как я предполагаю, что дальше может быть что угодно кроме числа (включая другой текст). Я хотел бы, таким образом ссылаться на все классы, подходящие под этот критерий, а не ловить первый попавшийся. Безусловно, было бы безумно удобно, если бы подобным образом, можно было обращаться к селекторам в любом месте кода.

Как осуществить нечто столь простое и очевидное?
Лучший ответ
Elepsis Eclipse Гений (64040) 4 года назад
Можно сначала взять все классы, потом отфильтровать только с числами.

$('[class^="ord-"]').filter(function() {
return this.className.match(/ord-\d+/);
}).css('background-color', 'red');

https://jsfiddle.net/OPTlMUS/1ftyze2v/1/ - работает)
Константин ЕфименкоГуру (3721) 4 года назад
Думаю в плане компактности, плагин приведённый выше безусловно выигрывает. Но если мне, по какой-либо причине, срочно будет необходим другой подход, то я обязательно им воспользуюсь.

Мне безумно нравятся решения, которые вы находите и данный не исключение!))
Константин ЕфименкоГуру (3721) 4 года назад
Я пытаюсь развить вашу идею, не поможете?

https://otvet.mail.ru/question/217817221
Остальные ответы
Андрей Высший разум (422094) 4 года назад
На стандартном jQuery - никак. Но можно попробовать подключить простейший плагин: https://j11y.io/javascript/regex-selector-for-jquery/ или поискать в интернете альтернативные плагины.
Константин ЕфименкоГуру (3721) 4 года назад
Это именно то, чего я и хотел добиться. С данным плагином, запись будет выглядеть следующим образом:

$(':regex(class, order-\\d+)').css("display", "none");

Относительно записи, автор высказал просьбу:
"Регулярное выражение должно быть в не буквальной нотации, поэтому замените все обратные косые черты двумя"
Похожие вопросы