如何追加新的当前

时间:2010-08-30 11:23:32

标签: jquery html

我有以下表结构。

<table>
    <tr>
        <td><a href="#"></td>
    </tr>
</table>

当我点击<a>时,我想在点击<tr>的{​​{1}}旁边添加新的<tr>

结果将是:

<a>

3 个答案:

答案 0 :(得分:53)

示例:

$('a').bind('click', function(){
  $('<tr><td>new td</td></tr>').insertAfter($(this).closest('tr'));
});

如果要创建克隆,请使用:

$('a').live('click', function(){
  var $this     = $(this),
      $parentTR = $this.closest('tr');

  $parentTR.clone().insertAfter($parentTR);
});

示例链接:http://www.jsfiddle.net/7A6MQ/

基本上,您从tr element(包括子节点)创建副本,并在该元素之后插入该副本。因此,您需要.live绑定以确保新创建的a元素也会调用该单击处理程序。

参考:.clone().insertAfter().live()

答案 1 :(得分:7)

另外,你可以写:

$('a').bind('click', function () {
    $(this).closest('tr').after('<tr><td>new td<td></tr>');
});

没有那么多差异,但看起来更具可读性。

答案 2 :(得分:1)

这是代码。如果有任何问题,请检查并告诉我。

function AddRaw(obj){
var $this     = obj;
$parentTR = $this.closest('tr');
$parentTR.clone().insertAfter($parentTR);
}