Пожалуйста, помогите мне с этим регулярным выражением - PullRequest
0 голосов
/ 22 августа 2011

Я пытаюсь найти входы с необходимыми идентификаторами. Но, похоже, мое регулярное выражение неверно. Пожалуйста, помогите мне исправить это. А также, пожалуйста, предложите мне улучшить стандарты кодирования. У меня будут входы с идентификаторами, такими как .. a1_1, b1_1, c3_999, d4_777 и т. Д. ... Они будут там внутри <td>.
То, что я хочу, мне нужно, чтобы некоторые входы с переданными идентификаторами.
Нравится

   NoneArray=[a_1,c_3].  

Так что мне нужно найти эти идентификаторы и назначить класс. Для этого я использую следующий код ..

http://jsfiddle.net/nnQxN/

for(var i = 0;i < NoneArray.length;i++)
{
    var x = NoneArray[i]+"_";
    $('input').filter(function() { 
        return $(this).prop('id').match(^[''+x+''][0-9]{})
    }).addClass('xve');
}

Пожалуйста, помогите мне в этом. Или, пожалуйста, предложите мне другой способ, используя функции pushstack и map.

1 Ответ

0 голосов
/ 22 августа 2011

Я думаю, вы можете просто использовать "начинается с" селектора. Я не уверен, как структурирован ваш HTML, но если все, что вы ищете, находится внутри <div id="container">, то:

var NoneArray = ['a1', 'c3'];
$.each(NoneArray, function(i, pat) {
    $('#container').find('[id^=' + pat + '_]').addClass('xve');
});

Живой пример: http://jsfiddle.net/ambiguous/MwqyS/

Если вы просто ищете <input> элементов, то это должно работать:

var NoneArray = ['a1', 'c3'];
$.each(NoneArray, function(i, pat) {
    $('input[id^=' + pat + '_]').addClass('xve');
});

Пример из жизни: http://jsfiddle.net/ambiguous/tDTjh/

...