存储数组jquery中两行的数据

时间:2011-09-10 10:27:44

标签: jquery html-table store

<table>
    <tbody>
        <tr class="center">
            <td></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
        </tr>
        <tr>
            <td width="20%">
                Numar:
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
        </tr>
        <tr>
            <td align="left" width="20%">
                Pierderi:
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
        </tr>
    </tbody>
</table>

我有这个表,我无法修改,如何使用jQuery将这两行中的数字存储到两个数组中?

4 个答案:

答案 0 :(得分:1)

仅当您需要三行表中最后两行的数字时才会这样做 -

var arrone = [];
var arrtwo = [];

$("table tr").each(function(i) {
    $(this).find('td.unit-item').each(function() {
        i == 1 ? arrone.push($.trim($(this).text())) : arrtwo.push($.trim($(this).text()));
    })
})

console.log(arrone.join(','));
console.log(arrtwo.join(','));

工作演示 - http://jsfiddle.net/ipr101/qRSDM/

以下是使用map -

的稍微简洁的示例
var arrone = $("table tr:nth-child(2)").find('td.unit-item').map(function() {
    return $.trim($(this).text())
});

var arrtwo = $("table tr:nth-child(3)").find('td.unit-item').map(function() {
    return $.trim($(this).text())
});

console.log(arrone.get().join(','));
console.log(arrtwo.get().join(','));

工作演示 - http://jsfiddle.net/ipr101/XjXaj/1/

答案 1 :(得分:0)

var array = new Array();
$("td .unit-item").each(function(){
    array.push($(this).html());
});

答案 2 :(得分:0)

您可以使用.map功能。我现在正在使用移动设备,因此无法对其进行测试,但下面的内容应该有效:

var result = jQuery("table tr").map(function () {return jQuery(this).find("td").map(function () { return jQuery(this).text(); }) });

答案 3 :(得分:0)

发布一个更通用的解决方案,适用于任意数量的行。

Working Demo

var bArray = [];
$('tr').has('td.unit-item').each(function() {
    bArray.push($(this).find('td.unit-item').map(function() {
        return $.trim(this.innerHTML);
    }).get());
});
for(var i = 0; i < bArray.length; i++) {
    console.log(bArray[i]);
}