Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery替换并添加新元素_Javascript_Jquery_Html Table - Fatal编程技术网

Javascript jQuery替换并添加新元素

Javascript jQuery替换并添加新元素,javascript,jquery,html-table,Javascript,Jquery,Html Table,我有下面的HTML <tbody class="t_bdy"> <tr class="Quotation_List_td"> <td class="item"><a class="button2 crm_insert" href="#">Insert</a><a class="button2 crm_delta" href="#">Delete</a></td&

我有下面的HTML

 <tbody class="t_bdy">
          <tr class="Quotation_List_td">
            <td class="item"><a class="button2 crm_insert" href="#">Insert</a><a class="button2 crm_delta" href="#">Delete</a></td>
            <td class="Quotation_List_ItemTD description">&nbsp;</td>
            <td class="quantitiy">&nbsp;</td>
            <td class="unit_price">&nbsp;</td>
            <td class="discount">&nbsp;</td>
            <td class="total">&nbsp;</td>
          </tr>
          <tr class="Quotation_List_td">
            <td class="item"><a class="button2 crm_insert" href="#">Insert</a><a class="button2 crm_delta" href="#">Delete</a></td>
            <td class="Quotation_List_ItemTD description">&nbsp;</td>
            <td class="quantitiy">&nbsp;</td>
            <td class="unit_price">&nbsp;</td>
            <td class="discount">&nbsp;</td>
            <td class="total">&nbsp;</td>
          </tr>



        </tbody>

当我用
.crm\u insert
类单击按钮时,我需要插入新的

单击
.crm\u insert
时,需要在当前位置插入新行。全部的 其他行将向下移动。例如,如果单击了针对第3行的插入,则 第3行将插入新行,当前第3行等将下移成为 第4排等

我怎样才能做到这一点


所有答案都很好,但我只能接受一个:谢谢大家

我想用最近的()和之前的()来尝试类似的方法

希望这将有助于

假设:

  • 新行与当前行的结构相同
  • 您希望新行还具有“插入”功能
您需要一个单击事件处理程序,该处理程序执行以下操作:

$('.crm_insert', '#table').on('click', function() {
    var currentRow = $(this).closest('tr');
    currentRow.clone(true).insertBefore(currentRow);
});
其中
#table
是表的id

如果要插入完全不同的内容,则无需使用
on()
clone()
,代码会变得更简单:

$('.crm_insert').click(function() {
    var currentRow = $(this).closest('tr');
    $('<tr />').insertBefore(currentRow);
});
$('.crm_insert')。单击(函数(){
var currentRow=$(this).closest('tr');
$('').insertBefore(当前行);
});

其中
将是您尝试插入的任何内容。

这可能适合您。它将找到您刚才单击的按钮的父tr,克隆它(包括按钮的onClick功能)并将其插入父tr之前。这将导致一个新行包含与目标行相同的信息。根据要在新行中显示的结果,可能还需要修改代码以清除任何复制的值

$(".crm_insert").live("click", function(){
  var tr = $(this).parents("tr.Quotation_List_td"); 
  tr.clone().insertBefore(tr);
});
你可以试试这个

$('.crm_insert').live('click', function(){
    var self = $(this);
    self.parents('tr.Quotation_List_td').before('add your row here');
});
jquery的最新版本使用了
on
而不是
live

$('.crm_insert').live('click', function(){
    var self = $(this);
    self.parents('tr.Quotation_List_td').before('add your row here');
});