对于每个span数据,从json响应中获取id和check id

时间:2017-02-09 20:12:49

标签: javascript jquery

我试图检查任何使用ajax发送的id和响应json从json获取id然后检查是否有一个id进入span然后添加它但是不工作总是添加并添加越来越多< / p>

Jquery的

e.results.forEach(function(e) {
    var name = e.name;
    var id = e.id;
    if ($(".visitors span").length) {
        $('.visitors span').each(function() {
            var data_id = $(this).attr('data-id');
            if (data_id != id) {
                $(".visitors").append("<span data-id='" + id + "'>" + name + "</span>");
            }
        });
    } else {
        $(".visitors").append("<span data-id='" + id + "'>" + name + "</span>");
    }
});

1 个答案:

答案 0 :(得分:1)

虽然我认为您的代码是正确的,但有一个建议:您只需检查是否存在data-id的范围(使用CSS Attribute-Equal Selector),而不是循环浏览范围。如果没有追加这样的新范围:

e.results.forEach(function(e) {
    var name = e.name;
    var id = e.id;

    var $span = $(".visitors span[data-id = '" + id + "']"); // select all the spans that have the data-id equal to id
    if (!$span.length) { // if there is none
        $(".visitors").append("<span data-id='" + id + "'>" + name + "</span>"); // then add a new one
    }
});