Javascript 删除AJAX添加的HTML
我有一个建立订单的页面。该页面完全使用ajax查找产品并将其添加到页面中 现在,如果您添加了一个项目并需要删除它,我正在构建这样做的功能:Javascript 删除AJAX添加的HTML,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个建立订单的页面。该页面完全使用ajax查找产品并将其添加到页面中 现在,如果您添加了一个项目并需要删除它,我正在构建这样做的功能: $('.orderRemove').click(function() { var removeID = $(this).attr("id"); $("#item-" + removeID).remove(); calculateTotal(); }); 但是由于.orderRemove是由AJAX添加的,所以它不起作用 如何让这个调
$('.orderRemove').click(function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
但是由于.orderRemove是由AJAX添加的,所以它不起作用
如何让这个调用准确地工作,删除ajax添加的完整块
谢谢您必须像这样在上使用
$(document).on('click','.orderRemove',function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
您必须像这样在
上使用
$(document).on('click','.orderRemove',function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
原因是动态添加到DOM中的HTML不会将自身附加到事件处理程序,因此,如果您使用的是小于1.7
的jQuery版本,或者如果您使用的是jQuery 1.7或更高版本,请在ajax成功回调中重新附加事件处理程序,或者重试
$(document).delegate('.orderRemove','click',function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
以.on为例
$(document).on('click','.orderRemove',function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
原因是动态添加到DOM中的HTML不会将自身附加到事件处理程序,因此,如果您使用的是小于1.7
的jQuery版本,或者如果您使用的是jQuery 1.7或更高版本,请在ajax成功回调中重新附加事件处理程序,或者重试
$(document).delegate('.orderRemove','click',function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
以.on为例
$(document).on('click','.orderRemove',function() {
var removeID = $(this).attr("id");
$("#item-" + removeID).remove();
calculateTotal();
});
尝试$('.orderRemove')。在(“click”,function()
代替也不起作用的。然后尝试$(“body”)。在(“click”,“.orderRemove”,function(){
尝试$('.orderRemove')。在(“click”,function()
代替也不起作用的。然后尝试$(“body”)。在(“click”,“.orderRemove”,function()){
这是到目前为止唯一有效的答案,非常感谢!绑定到一个比整个文档更具体的元素要高效得多,因为该绑定将处理任何地方的所有单击;通常,OP希望绑定到通过AJAX填充内容的实际元素。@mplungjan sry我不知道。on也被弃用了…所以他们现在使用的是它的委托吗?我在一段时间后回到jQuery,所以….on()
不被弃用,.delegate()
被弃用了,取而代之的是.on()
@lanzz哦……好吧,我已经给出了这两个例子,因为在1.7版之前,on都不可用。这是迄今为止唯一有效的答案,非常感谢!绑定到一个比整个文档更具体的元素要有效得多,因为绑定将处理任何地方的所有单击;通常,OP希望绑定到实际的元素元素,其内容通过AJAX填充。@mplungjan sry我不知道。on也被弃用了…所以他们现在使用的是它的委托?我在一段时间后回到jQuery,所以….on()
不被弃用,.delegate()
被弃用,取而代之的是.on()
@lanzz哦……好的,我已经给出了这两个示例,因为在1.7版之前,z.on不可用