使用jquery选择没有第一列数据的表

select table using jquery without first column datas

本文关键字:一列 数据 选择 jquery 使用      更新时间:2023-09-26

我正在尝试使用jQuery从html表中获取数据。

在我的情况下,我想得到没有第一列的表。因为我想把表格导出到excel文件。但我的第一个专栏包含单选按钮。它是无用的,而且很难去除。

任何人提高这个质量。

表格

<table id="orders_table">
<thead>
<tr>
<th> </th>
...
<th></th>
<tr>
</thead>
<tbody>
<tr>
<td><input type="radio"<td>
...
<td>data<td>
</tr>
</tbody>
</table>

我尝试的jQuery代码

function getTable(){
    $("#orders_table");
    var html = "<table>";
    html += "<tr>";
    $.each($("#orders_table thead tr th "), function(i, d){//getting header
        if(i==0){}//do nothing
        else{
            html += "<th>" + $(this).html() + "</th>";
        }
    });
    html += "</tr>";
    $.each($("#orders_table tbody tr"), function(i, d){
        html += "<tr>";
        $.each($(d).find("td"), function(i2, d2){
            if(i2==0){} //do nothing
            if(i2==1){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==2){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==3){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==4){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==5){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==6){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==7){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==8){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==9){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==10){html += "<td>" + $(d2).html() + "</td>";}
            if(i2==11){ html += "<td>" + $(d2).html() + "</td>";}
            if(i2==12){ html += "<td>" + $(d2).html() + "</td>";}
            if(i2==13){ html += "<td>" + $(d2).html() + "</td>";}
            if(i2==14){ html += "<td>" + $(d2).html() + "</td>";}
            if(i2==15){ html += "<td>" + $(d2).html() + "</td>";}
            if(i2==16){ html += "<td>" + $(d2).html() + "</td>";}
        });
        html += "</tr>";
    });

    html += "</table>";
    return html;
}

也许删除第一列并返回结果html的更好方法是克隆表,从每个tr中删除第一个td元素,然后从克隆返回html

用类似的东西http://jsfiddle.net/fKn6f/

var myclone = $("#orders_table").clone();
myclone.find( "tr > td:first-child" ).remove();
var html = myclone.html();

试试这个jquery,更新你的eq取决于你的td 的索引

$("#orders_table tbody tr").each(function(i, d){
       var data1 =  $(this).find("td:eq(1)").text();
       var data2 =  $(this).find("td:eq(2)").text();
       var data3 =  $(this).find("td:eq(3)").text();
       ...
});