2011-10-28 12 views
0

私はチックボックスに接続されたdivの簡単な切り替えを持っています。jQueryがdivの内容を無視するのはなぜですか?

$('#step2').hide(); 

$('#toggle-check').click(function(){ 

$('#step2').fadeToggle(); 

}) 

なぜ.hide(); #step2の内容を選択しますか?これは現在、テーブルデータのリストであり、それを隠すわけではありません。早く私のdivを終了し、それは動作します。

<tr> 
<th></th> 
<td></td> 
</tr> 

それは現在、すべて私のテーブルデータの上に私の#のSTEP2のdiv要素を追加していますので、私はそれはCSSスタイリングの問題かもしれないと感じ?

+3

を追加してみてください、ここで逃しましたか?あなたはコードの関連部分を投稿できますか? –

+0

#step2は、私が与えた上記のテーブル構造にラップされています。各列に非表示のクラスを与え、jqueryで呼び出すことはできますが、それは面倒ですね。 – SMacFadyen

+0

あなたが与えたマークアップの周りに 'table'要素がありますか(' div'の中に)?そうでない場合、それは有効ではありません。 –

答えて

1

div#step2をテーブル行の周りにラップすると、適切なマークアップではないため、動作しません。テーブル全体を囲む必要があります。 テーブルの一部を保持する場合は、テーブルの構造を変更する必要があります。

0

ドキュメントの準備ができているときにコードが実行されていない可能性があります。つまり、ページが非常に短い場合に実行される可能性がありますが、テーブル全体がまだ解析されていない場合は実行されません。

はこれを試してみてください:

$(document).ready(
{ 
    $('#step2').hide(); 

    $('#toggle-check').click(function() 
    { 
     $('#step2').fadeToggle(); 
    }) 
}); 
0

ご質問に応じて、私は多くを言う傾けます。

ともあなたはセミコロンは

$('#toggle-check').click(function(){ 

$('#step2').fadeToggle(); 

}) 

$(document).ready(function(){});内のコードをラップし、 `#のstep2`であり、それは何が含まれていないセミコロン

$(document).ready(function(){ 

$('#step2').hide(); 

$('#toggle-check').click(function(){ 

$('#step2').fadeToggle(); 

}); 

}); 
関連する問題