1

我正在构建一个选择列表,如下所示:

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

4

1 回答 1

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>');
    }
});
于 2012-06-01T15:38:57.887 回答