我有以下代码:
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>');
}
但是当我第二次调用回调时 - 它会附加数据,而不是清除之前的列表。为什么呢?
答案 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>');
}