替换内容jQuery AJAX不起作用

替换内容jQuery AJAX不起作用,jquery,ajax,replace,Jquery,Ajax,Replace,我的项目中有一个地图页面,显示地图缩略图列表。当我点击“ShowMap”按钮时,一个更大的地图被打开,一个评论列表被加载并显示在大地图的上方。我用AJAX和jQuery实现了这一点。还有一个“CloseMap”按钮,用于隐藏包含大地图和注释的div。“ShowMap”之所以有效,是因为它加载了正确的地图和链接到该地图的正确注释。 问题是,如果我使用APPEND,它当然会附加不同地图的注释。因此,如果我打开MAP1,它会打开MAP1并附加MAP1的注释。然后我关闭MAP1并打开MAP2。它会正确地

我的项目中有一个地图页面,显示地图缩略图列表。当我点击“ShowMap”按钮时,一个更大的地图被打开,一个评论列表被加载并显示在大地图的上方。我用AJAX和jQuery实现了这一点。还有一个“CloseMap”按钮,用于隐藏包含大地图和注释的div。“ShowMap”之所以有效,是因为它加载了正确的地图和链接到该地图的正确注释。 问题是,如果我使用APPEND,它当然会附加不同地图的注释。因此,如果我打开MAP1,它会打开MAP1并附加MAP1的注释。然后我关闭MAP1并打开MAP2。它会正确地打开MAP2并加载MAP2的注释,但会将它们附加到MAP1的注释下。我想替换内容。我已经尝试过类似$(“#output”).html(行、idU、text#map)的东西,但它不起作用:(

函数显示注释(i)
{
$.ajax({
url:'api.php',
数据:{idMap:i},
数据类型:“json”,
成功:函数(行)
{
用于(行中的变量i)
{
变量行=行[i];
var idU=第[1]行;
var text_map=行[3];
$('#output')。追加(“idU:+idU+“text”+text#map)
.追加(“
”); } } }); };
如果要替换内容,请首先通过调用
html()
并在其中传递空字符串来删除以前的内容:

 $('#output').html(""); // this will remove previous content of #output
 $('#output').append("<b> idU: </b>"+idU+"<b>text </b>"+text_map) 
   .append("<hr />");
$('#output').html(“”;//这将删除#output先前的内容
$('#output')。追加(“idU:+idU+“text”+text#map)
.追加(“
”);
您可以将新的html标记放入一个带有Id的div中,然后在另一个调用中删除它并再次追加,它将开始为您工作,因此您的代码如下所示:

if($('#test'))
    $('#test').remove();
$('#output').append("<div id='test'><b> idU: </b>"+idU+"<b>text </b>"+text_map+"</div>") 
if($('#测试'))
$('#test')。删除();
$('#output')。追加(“idU:+idU+“text”+text#u map+”)

你能帮我做一个JSFiddle吗?我做不到,因为它与我的数据库交互,而且还有一个“api.php”页面要包含..Thx供你的hel使用;)因为我在输出div中有一个按钮,所以我在前一个div中做了另一个div,称为output2。我做$('#output2').html(“”);在show#u comments函数的最开始,然后是$('#output2').append(“idU:+idU+“text”+text_map”).append(
);而且它工作得很好;)而且,这样它不会删除我的关闭按钮!谢谢!
if($('#test'))
    $('#test').remove();
$('#output').append("<div id='test'><b> idU: </b>"+idU+"<b>text </b>"+text_map+"</div>")