2016-11-23 103 views
0

下面的jQuery代码片段工作正常。我想知道如何将它编写为接受table1作为参数的函数,以便我可以在代码的其他部分重用此函数。对于例如如果我有表ID表2,而不是增加新的功能,我应该重新使用现有的一个如何编写函数并为jQuery函数传递参数

$(document).ready(function(){  
    $("#table1").on('click','.btnDelete',function(){ 
     $(this).closest('tr').remove(); 
    }); 
}); 
+1

写清楚选择。没有必要为类似事件注册更多功能 –

回答

3

有许多方法以某种方式

$("[id^=table]").on('click','.btnDelete',function(){ 
     $(this).closest('tr').remove(); 
    }); 
0

处理使用属性选择这很容易,只要命名功能,使用它,无论你想

$(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. 
}); 
0
$(document).ready(function(){  
     $("#table1").on('click','.btnDelete',function(){ 
     RemoveRow($(this)); 
     }); 

     function RemoveRow(table){ 
     $(table).closest('tr').remove(); 
     } 

    }); 
0

$("#table1,#table2,#table3").on('click', '.btnDelete', function() { 
 
    $(this).closest('tr').remove(); 
 
});

$("[id^=table]").on('click', '.btnDelete', function() { 
 
    $(this).closest('tr').remove(); 
 
});

1

采取不同的方式和分配行为类,如:

$(".table-with-removable-rows").on('click','.btnDelete',function(){ 
    $(this).closest('tr').remove(); 
}); 

那么每当你想要的这种行为,您添加类,如:

<table class="table-with-removable-rows">... 

这种方式有:

  • 无需更改任何代码
  • 它不会影响每个表格,只有您将其设置为
  • 你不需要格式化id来触发行为
  • 的行为是基于该HTML
+1

我喜欢这种方法 – user1965773