Javascript 如何为jquery函数编写函数并传递参数

Javascript 如何为jquery函数编写函数并传递参数,javascript,jquery,Javascript,Jquery,下面的jquery代码段工作正常。我想知道如何将其编写为接受table1作为参数的函数,以便在代码的其他部分中重用此函数。例如,如果我有id为table2的表,而不是添加新函数,我应该重新使用现有函数 $(document).ready(function(){ $("#table1").on('click','.btnDelete',function(){ $(this).closest('tr').remove(); }); }); 有许多方法可以通过一种

下面的jquery代码段工作正常。我想知道如何将其编写为接受table1作为参数的函数,以便在代码的其他部分中重用此函数。例如,如果我有id为table2的表,而不是添加新函数,我应该重新使用现有函数

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

有许多方法可以通过一种方式处理“使用属性选择器”

  $("[id^=table]").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() {    
  var deleteAction = function() {
     $(this).closest('tr').remove();
  };
  $("#table1").on('click', '.btnDelete', deleteAction);
  $("#table2").on('click', '.btnDelete', deleteAction);
  $(".btnDelete").on('click', deleteAction);
  // etc etc.
});
  • 使用
$(“#表1,#表2,#表3”)。在('click','btnDelete',function()上{
$(this).closest('tr').remove();
});
  • 使用
$(“#表1,#表2,#表3”)。在('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">...
然后,无论何时需要此行为,都可以添加该类,例如:

$(".table-with-removable-rows").on('click','.btnDelete',function(){
    $(this).closest('tr').remove();
});
<table class="table-with-removable-rows">...
。。。
这样就有:

  • 不需要更改任何代码
  • 它不会影响每一张表,只影响您设置的表
  • 您不需要格式化id来触发该行为
  • 这种行为在html上很明显

采取不同的方法并指定行为类,例如:

$(".table-with-removable-rows").on('click','.btnDelete',function(){
    $(this).closest('tr').remove();
});
<table class="table-with-removable-rows">...
然后,无论何时需要此行为,都可以添加该类,例如:

$(".table-with-removable-rows").on('click','.btnDelete',function(){
    $(this).closest('tr').remove();
});
<table class="table-with-removable-rows">...
。。。
这样就有:

  • 不需要更改任何代码
  • 它不会影响每一张表,只影响您设置的表
  • 您不需要格式化id来触发该行为
  • 这种行为在html上很明显

基于此写入选择器。不需要为类似的eventsWrite选择器注册更多函数。没有必要为类似的事件注册更多的函数