我正在构建一个像这样的选择列表:
var releases = data.suites.split(':');
$.each(releases, function(i, val){
if (val) {
var info = val.split('-');
$('#testList').append('<option value="'+info[0]+'">'+info[1]+'</option>');
}
});
每个条目的值和文本都以特定文本开头。是否可以使用jquery和正则表达式从列表中删除与此文本匹配的所有项目?
答案 0 :(得分:0)
如果您只想阻止创建目标项目,请在循环中使用.indexOf
。
如果DOM中存在要删除的元素,则可以根据属性值的开头进行DOM选择。
// Cache DOM selection!!! ;-)
var testlist = $('#testList');
// remove existing elements where the "name" starts with "some_text"
testlist.find('option[name^="some_text"]').remove();
var releases = data.suites.split(':');
$.each(releases, function(i, val) {
// Prevent creation when the val starts with "some_text"
if (val && val.indexOf("some_text") !== 0) {
var info = val.split('-');
testlist.append('<option value="'+info[0]+'">'+info[1]+'</option>');
}
});