所以我要在表格中追加一行,然后在单击按钮时删除该行。
但是我不能以一种看起来自然的方式来做到这一点,例如:
$(".usun").on("click", function(){
$(this).parent().parent().remove();
});
其中,
.usun
是一类按钮,用于删除表中的一行。当然,这段代码片段在$(document).ready(...
内部。似乎对我有用的是:$(this).on("click", ".usun", function(){
$(this).parent().parent().remove();
});
而且我不明白为什么。有人可以解释一下吗?
最佳答案
.on()
有几种方法签名,您可以阅读有关here的信息。
您的第一种语法($(".usun").on(
)仅一次是将点击处理程序附加到每个单独的.usun
元素。如果以后添加更多,则它们没有点击处理程序。
第二种语法($(this).on("click", ".usun", function()...
)将单个侦听器附加到document
,说:“每当单击我体内的.usun
时,请执行某些操作”。这涵盖了在触发$(document).ready
之后添加更多匹配元素的情况。
关于javascript - .on()在附加元素上不起作用(jQuery),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27113366/