Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Jquery colspane克隆行的所有列_Jquery - Fatal编程技术网

Jquery colspane克隆行的所有列

Jquery colspane克隆行的所有列,jquery,Jquery,我想将所有列(colspan)合并到使用jquery的clone()方法创建的新行中。还有一件事,我希望在colspan之后只有一列的新行应该用空格分隔原始行的所有值 我曾尝试过这样的代码:克隆> />代码,它对我来说是一个非常重要的问题。 $(document).ready(function(){ console.log($('table tbody tr').eq(0).html()); var newtr=$('table tbody tr').eq(0).clone(); cons

我想将所有列
(colspan)
合并到使用jquery的
clone()
方法创建的新行中。还有一件事,我希望在
colspan
之后只有一列的新行应该用空格分隔原始行的所有值

我曾尝试过这样的代码:<代码>克隆> />代码,它对我来说是一个非常重要的问题。

$(document).ready(function(){
 console.log($('table tbody tr').eq(0).html());
 var newtr=$('table tbody tr').eq(0).clone();
 console.log(newtr.html());
});
但不知道如何
colspan
将所有列与原始行逗号分隔

已编辑

当前的html是这样的

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Order</th>
            <th>Month</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Rahul</td>
            <td>#1</td>
            <td>January</td>
        </tr>
        <tr>
            <td>Yunus</td>
            <td>#2</td>
            <td>April</td>
        </tr>
        <tr>
            <td>Nitin</td>
            <td>#3</td>
            <td>March</td>
        </tr>
    </tbody>
</table>
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Order</th>
            <th>Month</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Rahul</td>
            <td>#1</td>
            <td>January</td>
        </tr>
        <tr>
            <td>Yunus</td>
            <td>#2</td>
            <td>April</td>
        </tr>
        <tr>
            <td>Nitin</td>
            <td>#3</td>
            <td>March</td>
        </tr>
        <tr>
            <td colspan="3">Rahul #1 January</td>
        </tr>
    </tbody>
</table>

名称
命令
月
拉胡尔
#1
一月
尤努斯
#2
四月
尼汀
#3
前进
在jquery代码运行之后,我希望生成的html如下所示

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Order</th>
            <th>Month</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Rahul</td>
            <td>#1</td>
            <td>January</td>
        </tr>
        <tr>
            <td>Yunus</td>
            <td>#2</td>
            <td>April</td>
        </tr>
        <tr>
            <td>Nitin</td>
            <td>#3</td>
            <td>March</td>
        </tr>
    </tbody>
</table>
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Order</th>
            <th>Month</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Rahul</td>
            <td>#1</td>
            <td>January</td>
        </tr>
        <tr>
            <td>Yunus</td>
            <td>#2</td>
            <td>April</td>
        </tr>
        <tr>
            <td>Nitin</td>
            <td>#3</td>
            <td>March</td>
        </tr>
        <tr>
            <td colspan="3">Rahul #1 January</td>
        </tr>
    </tbody>
</table>

名称
命令
月
拉胡尔
#1
一月
尤努斯
#2
四月
尼汀
#3
前进
1月1日拉胡尔
演示:


演示:

我应该这样做:

var $tr = $("table tbody tr:first").clone(),
$td = $("td", $tr);

var content = '';
$td.each(function(){content+=$(this).html()+' ';});
content = '<td colspan="'+$td.length+'">'+content+'</td>';
$tr.html(content);

$tr.appendTo("table tbody");
var$tr=$(“表tbody tr:first”).clone(),
$td=$($td',$tr);
var内容=“”;
$td.each(function(){content+=$(this.html()++'';});
内容=''+内容+'';
$tr.html(内容);
$tr.appendTo(“表体”);
如果需要另一行,只需将:first选择器更改为eq()。 如果要影响多行,可以使用.each()


演示

我应该这样做:

var $tr = $("table tbody tr:first").clone(),
$td = $("td", $tr);

var content = '';
$td.each(function(){content+=$(this).html()+' ';});
content = '<td colspan="'+$td.length+'">'+content+'</td>';
$tr.html(content);

$tr.appendTo("table tbody");
var$tr=$(“表tbody tr:first”).clone(),
$td=$($td',$tr);
var内容=“”;
$td.each(function(){content+=$(this.html()++'';});
内容=''+内容+'';
$tr.html(内容);
$tr.appendTo(“表体”);
如果需要另一行,只需将:first选择器更改为eq()。 如果要影响多行,可以使用.each()


演示

@Karna谢谢。这就是我理解OP想要得到什么的方式。编辑问题以显示我到底想要什么,我使用了第一行作为克隆的示例,但它可以更改。@rahularyansharma现在呢?如果需要添加所有行,请从选择器中删除
:eq(0)
。@Karna谢谢。这就是我理解OP想要得到什么的方式。编辑问题以显示我到底想要什么,我使用了第一行作为克隆的示例,但它可以更改。@rahularyansharma现在呢?如果需要添加所有行,请从选择器中删除
:eq(0)