JQuery的。如何在每一行选择一些细胞?

时间:2013-07-09 06:30:45

标签: jquery html-table each

我试图解决这个问题有点困难。 我需要获取一些单元格的内容,然后更新此单元格的内部文本

例如,我需要获取单元格的值 class = 2和class = 4 在每一行中,在此之后,更新其内部文本

我尝试通过此代码执行此操作:

$(element).each(function ()
{
   // code code code
});

但实际上并不是我需要的东西,因为这段代码只是在每一行得到每个元素,但我需要在每一行得到一些元素

应该看起来像:

  1. 得到行。
  2. 获取当前行的class = 1和class = 2的元素
  3. 将其内容发送到脚本
  4. 更新单元格内容
  5. 获取下一行
  6. 以下是示例表:

    <table>
        <tr>
            <td class="1"> Cell One </td>
            <td class="2"> Cell Two </td>
            <td class="3"> Cell Three </td>
            <td class="4"> Cell Four </td>
        </tr>
        <tr>
            <td class="1"> Also one Cell One </td>
            <td class="2"> Also one Cell Two </td>
            <td class="3"> Also one Cell Three </td>
            <td class="4"> Also one Cell Four </td>
        </tr>
    </table>
    

    **

      

    还有。

    **

      

    我需要为表中的每一行发送Ajax Query,内部文本为2   当前行的单元格ajax.php?id = column1&amp; val = column2

2 个答案:

答案 0 :(得分:2)

您可以执行类似

的操作

此外,我认为您正在尝试的是当前的td是否具有1级或2级,您可以使用.hasClass()

$('table').find('tr').each(function(){
    var $tr = $(this);
    $tr.find('.1, .2').html(function(idx, html){
        var $td = $(this);

        if($td.hasClass('1')){
            return html + ' class-1';
        } else if($td.hasClass('2')){
            return html + ' class-2';
        }

        return html + ' modified'
    })
})

演示:Fiddle

答案 1 :(得分:1)

以下内容将一次性为您提供一组class="1"class="2"

$('tr .1, tr .2')

然后你可以这样做:

$('tr .1, tr .2').each(function() {
    if($(this).is('.1')) {
       // class="1" stuff
    } else {
       // class="2" stuff
    }
});

如果您更喜欢按行进行迭代,则可以选择行$('tr'),然后在迭代中找到感兴趣的子项:

$('tr').each(function() {
    var cols = $('.1, .2', this);
    // do something with cols
});

前进的方法很多;最好的解决方案取决于你想要实现的细节。