2

さまざまな列と多くの行を持つテーブルがあります。これを簡単にするために、課金対象の行数 (この場合は列 2) を知る必要があります。つまり、列 2 の何行に "y" というテキストがありますか? とにかく、これは私がこれまでに試したことです:

jQuery

var billable = 0;

// attempt 1
table.rows().eq(1)( function () {
    if(table.data() === 'y'){
       //priceTotal+=parseInt(table.cell(row,0).data());
        alert('This is the billable column, now count which equal "y".')
        billable++;
    }
});  

// attempt 2
column(2).data() === "y"){
    alert('This is the billable column, now count which equal "y".')
    billable++;
}

http://jsfiddle.net/s827x/3/

4

3 に答える 3

2

jquery を使用すると、親 Element: のインデックスで要素を選択できる:nth-child()ので、簡単に:

$( ".our-table td:nth-child(2):contains('y')" ).length;

HTMLに追加されました(念のため):

<tbody class="our-table">

:contains()Selectorを使用して<td>、列 2のすべてを選択します。:contains('y')

デモ: http://jsfiddle.net/s827x/6/

于 2014-08-04T20:35:21.103 に答える
0

isherwood の例は完全一致で機能しますが、検索語を含む一致のみを探している場合にも機能します。

function countContaining(table, search) {
  var count = 0;
  $(table).find('td').each(function(e) {
    if (e.innerHTML.indexOf(search) > 0) {
      count++;
    }
  });
  return count;
}
于 2014-08-04T20:15:16.620 に答える