如何编写函数并为jQuery函数传递参数
问题描述:
下面的jQuery代码片段工作正常。我想知道如何将它编写为接受table1作为参数的函数,以便我可以在代码的其他部分重用此函数。对于例如如果我有表ID表2,而不是增加新的功能,我应该重新使用现有的一个如何编写函数并为jQuery函数传递参数
$(document).ready(function(){
$("#table1").on('click','.btnDelete',function(){
$(this).closest('tr').remove();
});
});
答
有许多方法以某种方式
$("[id^=table]").on('click','.btnDelete',function(){
$(this).closest('tr').remove();
});
答
处理使用属性选择这很容易,只要命名功能,使用它,无论你想
$(document).ready(function() {
var deleteAction = function() {
$(this).closest('tr').remove();
};
$("#table1").on('click', '.btnDelete', deleteAction);
$("#table2").on('click', '.btnDelete', deleteAction);
$(".btnDelete").on('click', deleteAction);
// etc etc.
});
答
$(document).ready(function(){
$("#table1").on('click','.btnDelete',function(){
RemoveRow($(this));
});
function RemoveRow(table){
$(table).closest('tr').remove();
}
});
答
$("#table1,#table2,#table3").on('click', '.btnDelete', function() {
$(this).closest('tr').remove();
});
$("[id^=table]").on('click', '.btnDelete', function() {
$(this).closest('tr').remove();
});
答
采取不同的方式和分配行为类,如:
$(".table-with-removable-rows").on('click','.btnDelete',function(){
$(this).closest('tr').remove();
});
那么每当你想要的这种行为,您添加类,如:
<table class="table-with-removable-rows">...
这种方式有:
- 无需更改任何代码
- 它不会影响每个表格,只有您将其设置为
- 你不需要格式化id来触发行为
- 的行为是基于该HTML
+1
我喜欢这种方法 – user1965773
写清楚选择。没有必要为类似事件注册更多功能 –