JQuery 脚本无法运行
JQuery script wont work
我对社区网站进行了以下设置:
<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
应该被删除,但由于某种原因,它没有。
而且,为了增加特殊性,如果我通过控制台注入代码,代码就可以工作。
并且,郑重声明,脚本未显示任何错误。
尝试:
$(function() {
$(document).on("click", ".accept", function() {
var id = $(this).data("id");
$("#"+id).remove();
});
});
解释:
您必须为所有新传入节点设置事件 .accept
。您必须在文档上绑定事件。参见 live event。
这里是对应的jsfiddle
我对社区网站进行了以下设置:
<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
应该被删除,但由于某种原因,它没有。
而且,为了增加特殊性,如果我通过控制台注入代码,代码就可以工作。
并且,郑重声明,脚本未显示任何错误。
尝试:
$(function() {
$(document).on("click", ".accept", function() {
var id = $(this).data("id");
$("#"+id).remove();
});
});
解释:
您必须为所有新传入节点设置事件 .accept
。您必须在文档上绑定事件。参见 live event。
这里是对应的jsfiddle