在添加到html页面之前验证元素是否存在

时间:2014-08-08 22:19:12

标签: javascript jquery

在我目前的春季项目中,我有一些<select>字段,其中的内部选项通过此jquery代码添加:

function load_options(target, lista) {
    $.ajax({
        type: 'GET',
        url: lista
    }).done(function(data){
        var json = jQuery.parseJSON( data );
        $.each(json.item, function(index, item) {
            var option = $('<option class="form-control" value="'+item.id+'">'+item.nome+'</option>');
            if(<<condition>>)
                target.append(option);
        });
    });
}

我正在寻找一个<<condition>>我可以在将其添加到选择之前验证存储在变量中的选项是否存在。

任何人都知道怎么检查这个?

2 个答案:

答案 0 :(得分:1)

我会这样做,但我会对其他解决方案感兴趣:

...
var json = jQuery.parseJSON( data );
var opt = [];
...
if(!opt[item.nome])
  target.append(option);

opt[item.nome]= true;
...

答案 1 :(得分:1)

jQuery构造函数(您在选择器中传递的地方)返回一个数组,因此,如果存在一个元素,则该数组的length属性为1(或更多)。你可以根据它给你写条件。