我可以使用正则表达式删除列表项吗?

时间:2012-06-01 15:19:08

标签: javascript jquery

我正在构建一个像这样的选择列表:

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和正则表达式从列表中删除与此文本匹配的所有项目?

1 个答案:

答案 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>');
    }
});