一尘不染

如何反转(转置)HTML表的行和列?

javascript

我想转置HTML表格中的行和列,即将行作为列,将列作为行。

我可以用什么方式做到这一点?

范例:

1 4 7  
2 5 8  
3 6 9

1 2 3  
4 5 6  
7 8 9

阅读 807

收藏
2020-05-01

共1个答案

一尘不染

HTML:

<table>
    <tr>
        <td>1</td>
        <td>4</td>
        <td>7</td>
    </tr>
    <tr>
        <td>2</td>
        <td>5</td>
        <td>8</td>
    </tr>
    <tr>
        <td>3</td>
        <td>6</td>
        <td>9</td>
    </tr>
</table>


<p><a href="#">Do it.</a></p>

js:

$("a").click(function(){
    $("table").each(function() {
        var $this = $(this);
        var newrows = [];
        $this.find("tr").each(function(){
            var i = 0;
            $(this).find("td").each(function(){
                i++;
                if(newrows[i] === undefined) { newrows[i] = $("<tr></tr>"); }
                newrows[i].append($(this));
            });
        });
        $this.find("tr").remove();
        $.each(newrows, function(){
            $this.append(this);
        });
    });

    return false;
});
2020-05-01