使用jquery选择表而不使用第一列数据

时间:2013-07-23 04:21:40

标签: javascript jquery html

我正在尝试使用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;
}

2 个答案:

答案 0 :(得分:2)

删除第一列并返回生成的html可能更好的方法是克隆表,从每个td中删除第一个tr元素,然后从克隆返回html

http://jsfiddle.net/fKn6f/

之类的内容
var myclone = $("#orders_table").clone();
myclone.find( "tr > td:first-child" ).remove();

var html = myclone.html();

答案 1 :(得分:0)

尝试此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();
       ...
});