我有以下代码无法正常工作:
$.each(results, function(idx, val) {
$('<div>')
.addClass('gmap-item')
.attr('data-place-id', val.place_id)
.append($('<span>').addClass('gmap-icon').addClass('gmap-icon-marker'))
.append($('<span>').addClass('gmap-item-query').text(val.name))
.text(val.formatted_address).appendTo(res);
}
基本上,不会创建/追加两个内部span标记。我不知道为什么。我不得不用以下内容替换它:
res.append(
'<div class="gmap-item" data-place-id=\"' + val.place_id + '\">' +
'<span class="gmap-icon gmap-icon-marker"></span>' +
'<span class="gmap-item-query">' + val.name + '</span>' +
val.formatted_address + '</div>');
这很难看,但它有效。任何想法为什么正确的方法不起作用? 谢谢你的所有答案!
答案 0 :(得分:3)
两次致电.append()
后,您拨打.text()
,重置div
的内容。
在这种情况下,您也可以使用.append()
添加文字,所以请执行以下操作:
$.each(results, function(idx, val) {
$('<div>')
.addClass('gmap-item')
.attr('data-place-id', val.place_id)
.append($('<span>').addClass('gmap-icon').addClass('gmap-icon-marker'))
.append($('<span>').addClass('gmap-item-query').text(val.name))
.append(val.formatted_address).appendTo(res);
}