<div id="msg_container">
<span> Is this helpful ? </span>
<span class="feedback">
<a title="like"> Yes </a>
<a title="dislike"> No </a>
</span>
</div>
// jQuery Script
$('.feedback a').live('click', function() {
var reference = $(this).parent().parent();
$.post("URL", $("FORM").serialize(),
function(data){
// posted successfully and following will be executed
reference.empty();
reference.add('<span> You have given feedback </span>');
}, "json");
});
该过程将是:
- 用户会被问到‘这有帮助吗?是的 没有'
- 单击“是”或“否”后,将执行 .post 方法
- 成功发布到服务器后,
- 我希望 DOM 元素 id="msg_container" 将整个内容更改为带有“您已给出反馈”这句话的正常跨度或段落,以便每个用户只能给出一个反馈。
问题:
- 一旦 div "msg_container" 被清空, .add() 就不起作用了。
- 即使没有清空“msg_container”,.add() 仍然不起作用。
- 我阅读了文档, .add() 似乎不像我上面那样与引用对象一起工作。
- 我必须将引用分配给变量,例如 var reference = $(this).parent(); 否则,在执行 $.post 之后,$(this) 将失去其原始的 'this' 引用。
知道如何解决这个问题吗?只要满足我的要求,我就可以接受替代解决方案。