関連性がない可能性のある行を除外/非表示にしたいと思います。
すべての行のクラスは「dataRow」です。
各行には6つの列が含まれています。最初の列にはラベルが含まれ、次の5列にはすべて値が含まれます。
特定の行のすべての値(列1のラベルを除く)に0が含まれている場合は、その行を非表示にします。
jQueryでこれを達成するための良いアプローチは何でしょうか?
関連性がない可能性のある行を除外/非表示にしたいと思います。
すべての行のクラスは「dataRow」です。
各行には6つの列が含まれています。最初の列にはラベルが含まれ、次の5列にはすべて値が含まれます。
特定の行のすべての値(列1のラベルを除く)に0が含まれている場合は、その行を非表示にします。
jQueryでこれを達成するための良いアプローチは何でしょうか?
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);
});
});