我为社区网站设置了以下设置:
<div id="posts">
<div class="container">
<div id="placeholder"></div>
<h1>Friend Requests</h1>
</div>
</div>
getRequests.js
将以下内容添加到container
div:
<div id="4" class="result">
<a href="user.php?id=4">
<img src="images/user-uploads/profile/?id=4">Random Guy
</a>
<div class="response">
<button data-id="4" class="accept">Accept</button>
<button data-id="4" class="deny">Deny</button>
</div>
</div>
friendResponse.js
具有以下内容:
$(function(){
$(".accept").click(function(){
var id = $(this).attr("data-id");
$("#"+id).remove();
});
});
因此,您可以预期当我单击“接受”按钮时,容器with id=1
应该被删除,但由于某种原因,它不会被删除。
而且,为了增加特性,如果我通过控制台注入代码,代码就会起作用。
并且,对于记录,脚本没有显示任何错误。
答案 0 :(得分:0)
尝试:
$(function() {
$(document).on("click", ".accept", function() {
var id = $(this).data("id");
$("#"+id).remove();
});
});
<强>解释强>
您必须为所有新传入节点.accept
设置事件。您必须在文档上绑定事件。请参阅live event。
以下是相应的jsfiddle