【发布时间】:2010-04-23 20:23:50
【问题描述】:
我正在编写一个 AJAX 函数,它返回一些信息以显示在 <div> 中。我的代码如下所示:
HTML:
<div id="basket_summary">Your basket's empty. Why not add some items to get started?</div>
jQuery(ajax 调用的相关部分):
success: function(products){
$('#basket').html(products.basket);
$('#basket_summary').html(products.summary);
我可以确认 products.summary 变量包含我要显示的文本。
当我第一次运行此代码时,它可以工作,但是当我检查源代码时,<div id="basket_summary"> 部分被删除,所以我第二次调用该函数时,该元素不再存在。如果我在我的 AJAX 返回数据中包含<div id="basket_summary">,它会添加它,所以我最终得到这个:
<div id="basket_summary">
<div id="basket_summary">3 items in your basket</div>
</div>
这不是该函数通常对我起作用的方式 - 它通常不会触及包含元素。有人能解决这个问题吗?
【问题讨论】:
-
products.summary 究竟包含什么?你可以console.log或提醒它吗?我觉得它包含 HTML 代码。
-
你的代码是 w3c-valid 吗?
-
你能发个链接吗?我认为错误在您的代码中的其他地方。
-
你能只显示你页面的代码吗?根据 jquery 文档 .html() 使用 innerHTML 属性并覆盖现有内容
-
修复它,你们是对的。错过了结束标记...男孩是我的脸红。