我正在尝试使用所需的ID搜索输入。但似乎我的正则表达式不正确。请帮我纠正一下。还请建议我提高编码标准。
我会输入带有诸如a1_1,b1_1,c3_999,d4_777等ID的内容......这些内容会出现在<td>
内。
我想要的是我需要通过ids的一些输入。
喜欢
NoneArray=[a_1,c_3].
所以我需要找到这些ID并分配一个类。为此,我使用下面的代码..
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
函数以其他方式建议我。
答案 0 :(得分:0)
我认为你可以使用"starts with"选择器。我不确定您的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');
});