3

我有一个名为 resultGridTable 的表。我有一个要在表的每一行上执行的 jQuery 函数。在函数中,“this”表示一行。

  1. 对于第四行,我需要提醒第一列值(第四行)。我有以下代码;但它不起作用。我们怎样才能让它发挥作用?

  2. 对于第五行,我需要提醒行中的列数。我们该怎么做?

  3. 在第六行的第二列,我有两个按钮(输入类型=“提交”)。我需要提醒第二个按钮的文本/值。(第二个按钮有一个名为“secondButton”的类)我们怎么做呢?

以下是代码::

$('#resultGridTable tr').each(function (i) 
{
    //"this" means row
    //Other operations in the row. Common for all rows

    if(i==3)
    {
        //Specific Operation for fourth row
        var columnValue = $(this 'td:nth-child(0)').val();
        alert(columnValue);
    }
});

阅读:

  1. jQuery 代码:从父到子开始;不是从孩子到父母

  2. 如何使用jQuery获取html表中当前行第一列的值

  3. 如何使用jQuery获取Html表的第一行的最后一列

4

4 回答 4

10

只是为了不同,你可以在这里混合 DOM 和 jQuery 以获得良好的效果,因为你已经在表中固定了偏移量:

var t = document.getElementById('resultGridTable');

// jQuery to get the content of row 4, column 1
var val1 = $(t.rows[3].cells[0]).text();  

// no jQuery here to get that row length!
var val2 = t.rows[4].cells.length;       

// DOM access for the cell, and jQuery to find by class and get the text 
var val3 = $('.secondButton', t.rows[5].cells[1]).text();

这些都应该比使用选择器快得多。

于 2012-05-29T10:31:56.860 回答
7

查看jQuery eq

alert($('#resultGridTable tr:eq(3) > td:eq(0)').text());
alert($('#resultGridTable tr:eq(4) > td').length);
alert($('#resultGridTable tr:eq(5) > td:eq(1) > .secondButton').text());
于 2012-05-29T09:41:05.450 回答
2

如果您对行/列有特殊值,请考虑为其添加一个类,然后您可以使用选择器而不是可能会改变的“魔术”数字。

于 2012-05-29T09:41:31.673 回答
0

改编自已接受的答案。如果你使用的是 jquery 而不是这个代码,document.getElementById不同的是你需要插入 [0] 的数组。

 var t = $('resultGridTable');

// jQuery to get the content of row 4, column 1
var val1 = $(t[0].rows[3].cells[0]).text();  
于 2019-06-12T17:20:12.953 回答