2011-04-23 77 views
0

当我做这样的事情:jQuery的:用做的.html(HTML)取代当前的内容

 
$.post("update.php", {page: $(this).attr('data-page')}, function(success){ 
      $("#dialog").html(html); 
     } 
}); 
 

,我有一个:

<div id="dialog" style="display: block;"> 

    //a bunch of html in here, initially it's not empty 
</div> 

然后将那$("#dialog").html(html);取代所有的HTML一堆那最初我们有没有添加到它?

+7

难道你不尝试并找出? – 2011-04-23 16:34:18

+1

或阅读[文档](http://api.jquery.com/html/#html2)? – 2011-04-23 16:38:41

回答

0

无论是在你的成功(希望HTML)应附加:

 
$.post("update.php", {page: $(this).attr('data-page')}, function(success){ 
     $("#dialog").append(success); 
    } 
}); 
1

它取代的内容。如果要附加它,可以调用“.append()”:

$('#dialog').append(html); 
0

是的,现有内容将被替换。

0

它会替换所有的html。
要追加使用:

 
$("#dialog").append(html); 
1

它将取代它。需要注意的是,你应该写:

$("#dialog").html(success); 

如果要追加数据,使用:

$("#dialog").append(success); 

简单,不是吗?

0

它会用html参数覆盖#dialog元素的内容。如果您只想将其添加到最后,请使用append方法:append(html)

0

来自jQuery doc:当.html()用于设置元素的内容时,该元素中的任何内容都将被新内容完全替换。

所以它取代旧的内容