jquery为空无效

时间:2013-09-06 11:12:55

标签: jquery clear

我有以下代码:

function callback(results, status) {
    if (status == google.maps.places.PlacesServiceStatus.OK) {
        $('.elements').empty();
        for (var i = 0; i < results.length; i++) {
            createElements(results[i]);
        }
    }
}

function createElements(place) {
    var placeLoc = place.geometry.location;
    var name = place.name;

    $('.elements').after('<p>Name: ' + name + '</p>');
}

但是当我第二次调用回调时 - 它会附加数据,而不是清除之前的列表。为什么呢?

2 个答案:

答案 0 :(得分:2)

$('.elements').after('<p>Name: ' + name + '</p>');

将选择器$('.elements')之后的元素作为子项更改插入

$('.elements').append('<p>Name: ' + name + '</p>');

因为.empty()将清除元素的子元素而不是兄弟元素

答案 1 :(得分:2)

您没有将您的元素放在.elements内。

试试这个:

function callback(results, status) {
    if (status == google.maps.places.PlacesServiceStatus.OK) {
        $('.elements').empty();
        for (var i = 0; i < results.length; i++) {
            createElements(results[i]);
        }
    }
}

function createElements(place) {
    var placeLoc = place.geometry.location;
    var name = place.name;

    $('.elements').append('<p>Name: ' + name + '</p>');
}