1

我有一张桌子,我正在通过这样做来检索每个表格行:

$(function(){
        $('table tr').click(function(){
            var $row = $(this).html();
            alert($row);
        });
    });

这让我得到了这样的当前行:

<td>2</td>
<td>Malcriado</td>
<td>Bota</td>
<td>Tipo2</td>
<td>NuevaDesc</td>
<td>NuevaDesc</td>
<td></td>
<td>Cerdo</td>
<td>Azul</td>
<td>oso</td>
<td>Rojo</td>
<td>12</td>
<td>metal</td>
<td>sss</td>
<td></td>
<td>Delicias</td>

我接下来要完成的是删除 td 并获取介于两者之间的值并将它们放入数组中,但我无法做到这一点。有任何想法吗?

4

3 回答 3

7

使用children()(docs)方法获取<td>元素,然后使用map()(docs)方法创建包含值的对象,最后使用toArray()(docs)方法将其转换为数组。

$('table tr').click(function(){
    var values = $(this).children('td').map(function() {
        return this.innerHTML;
    }).toArray();

    alert(values);
});
于 2011-02-21T17:32:38.597 回答
2
$(function() {
    $('table tr').click(function() {
        var arr = [];
        $('td', this).each(function(i, item) {
            if (item.innerHTML) 
              arr.push(item.innerHTML);
        });
        alert(arr.join(','));
    });
});

只是为了缘故添加检查空<TD>

于 2011-02-21T17:31:59.710 回答
0

遍历行中的元素并获取它们的文本:

var contentArray = [];
$("td", $row).each(function(){
  contentArray.push($(this).text());
});
于 2011-02-21T17:35:09.610 回答