0

関連性がない可能性のある行を除外/非表示にしたいと思います。

すべての行のクラスは「dataRow」です。

各行には6つの列が含まれています。最初の列にはラベルが含まれ、次の5列にはすべて値が含まれます。

特定の行のすべての値(列1のラベルを除く)に0が含まれている場合は、その行を非表示にします。

jQueryでこれを達成するための良いアプローチは何でしょうか?

4

1 に答える 1

1

sum各行を計算して、それに応じて非表示にすることができます。

$("tr.dataRow").each(function(){
  var hide = false;
  $("td:gt(0)", this).each(function(){
    if(+$(this).text()){
      hide = true;
    }
  });
  $(this).toggle(hide);
});

tdすべてのターゲット要素がの子であるtr.dataRowか どうかを知っておくと便利です.children()


上記のスクリプトの場合、parseFloat代わりにを使用するバリアントがあります。ただし、両方のコードが機能するはずです。

$(function () {
  $("tr.dataRow").each(function () {
    var hide = false;
    $("td:gt(0)", this).each(function () {
      if (parseFloat($(this).text()) > 0) {
        hide = true;
      }
    });
    $(this).toggle(hide);
  });
});
于 2013-02-18T22:13:41.150 に答える