3

条件が true の場合に子の親要素にクラスを適用しようとしていますが、それを機能させることができないようです。要するに、数字「0」のセルをテーブルでチェックし、その親行を非表示にしたいのです。

私が行ったことの基本的な jsfiddle を作成しました: http://jsfiddle.net/immbudden/YbZPE/3/

そして、私がまとめたjqueryのスニペット:

if ($('#the_table>table>td:contains("0")').length === 1) {
    $(this).parent("tr").addClass("hidden");
}

私はまだjQueryとjavascriptを学んでおり、これはおそらく小さなことですが、指を置くことができないようです!

事前に感謝します。

4

4 に答える 4

4
$('td', '#the_table > table').each(function() {
    if ($(this).text() === '0') {
        $(this).parents("tr").addClass("hidden");
    }
});

フィドル

于 2012-04-27T03:21:23.397 に答える
1

ブラウザの開発者ツールを使用してください!またはFirebugを入手してください

そのページが読み込まれたら、javscriptコンソールでこれを試してください。

$('#the_table>table>td:contains("0")')

それがあなたに与えるなら

[ ]

その後、要素が見つかりません。次に、それを分解してみることができます。たとえば、これが機能するかどうかを確認します。

$('#the_table>table>td')

trueそして、それが生成されるまで、またはfalse必要に応じて、その式のビットを取り出して追加し続けます。

于 2012-04-27T03:14:27.160 に答える
1

あなたはこのようにそれを行うことができます、

$('#the_table table td').filter( function (index) {
    return $(this).text() == '0';
}).parent("tr").addClass("hidden");

http://jsfiddle.net/YbZPE/5/

于 2012-04-27T03:17:48.673 に答える
1

最初に eq(0) を使用する場合は、まずセルを取得する必要があります。

$cell = jQuery('#the_table tr td:eq(0)');

次に、クラスを親行に配置する必要があります。

$cell.parent("tr").addClass("hidden");

次のコードはそれを行います。

jQuery('#the_table tr td:eq(0)').parent("tr").addClass("hidden");
于 2012-04-27T03:21:31.417 に答える