Javascript 从a href克隆最近的行

Javascript 从a href克隆最近的行,javascript,jquery,Javascript,Jquery,我有一个应该复制我指定的行的代码。我的表是动态生成的,因此我无法定义id。我希望能够单击指定行上的按钮,找到最接近的要复制的tr 应该复制的代码是: function cloneRow() { var row = $(this).closest('tr'); // find row to copy var table = document.getElementById("ScannedItems"); var clone = row.cloneNode(true); //

我有一个应该复制我指定的行的代码。我的表是动态生成的,因此我无法定义id。我希望能够单击指定行上的按钮,找到最接近的要复制的tr

应该复制的代码是:

 function cloneRow()
 {
   var row = $(this).closest('tr'); // find row to copy
   var table = document.getElementById("ScannedItems");
   var clone = row.cloneNode(true); // copy children too
   clone.id = "newID";
   table.appendChild(clone);
 }
我需要更改
var行=$(this.nexist('tr')
指向其他内容,但我不知道要将其更改为什么,以便从单击的
a href
中获取最接近的
tr

或者只是复制单击a的同一行

a href看起来像这样

<a onclick='cloneRow();'><span class='glyphicon glyphicon-plus' style='padding-right:15px;'>

Hmm。。在函数上下文中,
表示
窗口
您需要这样做:

HTML

这是一把小提琴:

这是密码

Javascript

var $table = $('#myTable');

$table.on('click', 'a.clone', function (e) {
    e.preventDefault();
    var $tr = $(this).closest('tr').clone();

    // Do stuff to $tr here

    $table.append($tr);
});

$table.on('click', 'a.remove', function (e) {
    e.preventDefault();
    $(this).closest('tr').remove()
});
HTML

<table id="myTable">
    <tr>
        <td><a href="#" class="clone">Clone 1</a></td>
        <td><a href="#" class="remove">Remove 1</a></td>
    </tr>
    <tr>
        <td><a href="#" class="clone">Clone 2</a></td>
        <td><a href="#" class="remove">Remove 2</a></td>
    </tr>
    <tr>
        <td><a href="#" class="clone">Clone 3</a></td>
        <td><a href="#" class="remove">Remove 3</a></td>
    </tr>
</table>


A.当我将
href='#'
留在A中时,页面将加载另一个页面。B.当我取出它时,什么也没有发生。请参阅
prevent default
文档,您会使用什么单词来代替
clone
删除该行此外,我还更新了我的答案和小提琴,包括删除。
var $table = $('#myTable');

$table.on('click', 'a.clone', function (e) {
    e.preventDefault();
    var $tr = $(this).closest('tr').clone();

    // Do stuff to $tr here

    $table.append($tr);
});

$table.on('click', 'a.remove', function (e) {
    e.preventDefault();
    $(this).closest('tr').remove()
});
<table id="myTable">
    <tr>
        <td><a href="#" class="clone">Clone 1</a></td>
        <td><a href="#" class="remove">Remove 1</a></td>
    </tr>
    <tr>
        <td><a href="#" class="clone">Clone 2</a></td>
        <td><a href="#" class="remove">Remove 2</a></td>
    </tr>
    <tr>
        <td><a href="#" class="clone">Clone 3</a></td>
        <td><a href="#" class="remove">Remove 3</a></td>
    </tr>
</table>