3

resultGridTableという名前のテーブルがあります。テーブルの各行で実行されるjQuery関数があります。関数では、「これ」は行を意味します。

  1. 4行目については、(4行目の)最初の列の値を警告する必要があります。私は次のコードを持っています。しかし、それは機能しません。どうすればそれを機能させることができますか?

  2. 5行目については、行の列数を警告する必要があります。どうすればいいですか?

  3. 6行目の2列目には、2つのボタンがあります(input type = "submit")。2番目のボタンのテキスト/値を警告する必要があります。(2番目のボタンには「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 に答える