2012-04-27 11 views
3

条件が真であるが動作させることができない場合、子の親要素にクラスを適用しようとしています。要するに、私は数字の "0"のセルのテーブルをチェックし、その親の行を隠したいと思う。条件が真である場合、親要素にクラスを追加します。

私は私がやっていることの基本的なjsfiddle作成しました:私はまだjQueryとJavaScriptを学んでいますし、これはおそらくです

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

http://jsfiddle.net/immbudden/YbZPE/3/

そして、私は一緒に入れているのjQueryのスニペットを何か小さいですが、私はそれに私の指を置くように見えません!

事前に感謝の意を表します。

+0

正確に何をしますか? –

+0

正確な数字が正確にゼロ(0)のセルを見つけ、親行を隠す – Michael

答えて

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

FIDDLE

+0

おかげです、私はあなたのことが私がやろうとしていることに最も適していると思う、私はちょうど '$(これ)'との関係でそれを書く方法がわからなかった。 – Michael

+0

あなたは大歓迎です! – adeneo

1

ブラウザの開発ツールを使用してください。またはGet Firebug。ロードされ、そのページで

、javscriptコンソールでこれを試してみてください。

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

それはあなたに

[ ] 

を与える場合、それは任意の要素を見つけていません。そして、あなたはそれを破壊しようとすることができ、これが動作するかどうか、例えば、以下を参照してください

$('#the_table>table>td') 

そして取り出して、あなたが必要として、それはtrueまたはfalseを生成するまで、その表現のビットを追加し続けます。あなたはこのようにそれを行うことができます

+0

アドバイスをいただきありがとうございました。私は開発ツール内でいくつか試してみましたが、ちょうどそれで挫折していました。 – Michael

1

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

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

+0

入力のおかげでありがとう、@ adeneoのソリューションは、私にとってうまくいっていました。とにかくありがとう! – Michael

+0

これが正しいと働いているので、これをUpvoted! – adeneo

1

まずあなたは、tehのセルを取得する必要がありますが、最初の使用当量が必要な場合は(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"); 
+0

答えのおかげでありがとう、@ adeneoは私のために、とにかくおかげで最高のソリューションを得た! – Michael

関連する問題