jQuery在提取的表数据中添加行分隔符

时间:2012-12-07 07:49:27

标签: jquery html

我从HTML表中提取数据。我已将heading和tr数据分成2个数组, 假设我有桌子:

<table cellpadding="0" cellspacing="0" border="0" class="display dTable messageinbox">
    <thead>
        <tr>
            <th>ID</th>
            <th align="left">Name</th>
            <th align="left">Message</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td align="center" style="vertical-align:middle">1</td>
            <td align="left" style="vertical-align:middle">Ashfaq </td>
            <td align="left" style="vertical-align:middle">hi </td>
        </tr>
        <tr>
            <td align="center" style="vertical-align:middle">2</td>
            <td align="left" style="vertical-align:middle">Adam </td>
            <td align="left" style="vertical-align:middle">test </td>
        </tr>
    </tbody>
</table>

这是我的代码:

$("#ExportOption").click(function()
    {
        var $table = $("table:first"),
        $headerCells = $table.find("thead th"),
        $rows = $table.find("tbody tr");
        var headers = [],
            rows = [];

        $headerCells.each(function(k,v) 
        {
            headers[headers.length] = $(this).text().replace(',', '');
        });

        $rows.each(function(row,v) 
        {
            $(this).find("td").each(function(cell,v) 
            {
                if(typeof rows[cell] === 'undefined') rows[cell] = [];
                //alert($(this).parent().find("tr"));
                rows[row][cell] = $(this).text().replace(',', '');
            });
        });
        alert(headers);
        alert(rows);
    });

这给我这样的输出

    Heading :
    ID    Name    Message

    Rows :
    1     Ashfaq  hi      2  Adam test

我想要的输出是在每个tr数据之间添加一个行分隔符,如

1  Ashfaq hi \Separator 2 Adam test

1 个答案:

答案 0 :(得分:0)

$rows.each(function(row, v) {
    $(this).find("td").each(function(cell, v) {
        if (typeof rows[cell] === 'undefined') rows[cell] = [];
        //alert($(this).parent().find("tr"));
        rows[row][cell] = $(this).text().replace(',', '');
    });
    rows[row] += "/";
});

http://jsfiddle.net/BNN6Z/7/