jQuery的:克隆一个表,它的第一行(Jquery: cloning a table and it

2019-10-21 20:49发布

我有这样一个标准的表结构:

<table id="test">
  <th>...</th>
  <tr><td>one thing</td></tr>
  <tr><td>another</td></tr>
  ...
  ...
</table>

我知道如何克隆整个表或表的第n行,但我需要的是整个事情,不同的是二次,第3,表4日等一行,换句话说:

<table id="test">
  <th>...</th>
  <tr><td>one thing</td></tr>
</table>

想法,请?

Answer 1:

“我知道如何克隆整个表...”

然后做到这一点,克隆整个表,然后删除你不有什么需要。

一个小窍门,选择一切,除了第一个孩子是使用*+*+选择在CSS意味着对右侧的匹配元件旁的左侧的元素。

最后,你可以使用:

var $clone = $('#test').clone().find('tr+tr').remove().end();

$clone然后将只与第一排的克隆表。



Answer 2:

另一个解决方案是使用下面的子过滤器选择器: :not(:first-child) 。 但是,你有很多其他的解决方案结合所有这些选择。

var $clone = $("#test").clone();
$clone.find("tr:not(:first-child)").remove();    
$("#target").html($clone);

例如: http://jsfiddle.net/rnogdu0L/

 $("#but").click(function() { var $clone = $("#test").clone(); $clone.find("tr:not(:first-child)").remove(); $("#target").html($clone); }); 
 td { border: 1px solid blue; } #source { min-height: 20px; background: pink; } #target { min-height: 20px; background: yellow; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="source"> <table id="test"> <th>do not delete this</th> <tr><td>one thing</td></tr> <tr><td>another</td></tr> </table> </div> <div id="target"> </div> <button id="but">Clone & Delete</button> 



文章来源: Jquery: cloning a table and its first row
标签: jquery clone