Вероятно, вы должны послушать всех этих парней, которые говорят, что вам следует использовать селектор фактического идентификатора (#id
) или селектор атрибута ([attribute=value]
), но чтобы ответить на ваш вопрос, я укажу, что высделал неправильно.
При создании «динамических» регулярных выражений, которые должны инкапсулировать в них переменные, вы должны использовать конструктор new RegExp
вместо встроенного синтаксиса /rule/
.Более того, если вы просто хотите проверить, что-то связано с регулярным выражением, вам, вероятно, следует использовать метод регулярного выражения test
.:
var num = '3';
var regex = new RegExp('^id' + num + '$');
$('.ddd').each(function(){
if(regex.test($(this).attr('id'))){
$(this).addClass('eee');
}
});