2

jQuery用の基本的なキャプチャモジュールを作成しようとしています。私はそれでまともなスタートを切っていますが、何らかの理由で.children()が機能していないようです。ここでそれを見てください:http://jsfiddle.net/pTbeW/ 私は現在これを持っています:

$(this).children('.captchain-start').hide();
$(this).children('.captchain-show').show();

に変更すると

$('.captchain-start').hide();
$('.captchain-show').show();

それは完璧に動作します。ただし、このソリューションでは、このキャプチャの2つのインスタンスを同じページに配置できないため、理想的とは言えません。クエリによって設定されたhtmlに関係しているのではないかと思いますが、その方法はわかりません。私はjavascriptやjQueryの専門家からはほど遠いですが、これは比較的簡単なことのように思えました。私は何が欠けていますか?こんなに長く見ていると目が疲れますか?どんな助けでもいただければ幸いです。

4

3 に答える 3

4

'.captchain-*'要素は子ではなく兄弟であるためです。次のことを試してください。

 $(this).nextAll('.captchain-start').hide();
 $(this).nextAll('.captchain-show').show();
于 2012-07-10T13:43:36.313 に答える
0
this

クリックイベントでは、クリックされた要素を参照します。これは、クラス'captchain-start'の要素です。したがって、子をスキャンする必要はありません。次を使用できます。

$(this)

代わりに、実際にクリックされた要素または要素セレクターの場合

代わりは。

于 2012-07-10T13:45:52.460 に答える
0

非表示にして表示する要素は要素の子ではなく兄弟であるため、$(this).nextAll()代わりにを使用する必要があります。$(this).children()

http://api.jquery.com/nextAll/を参照してください

于 2012-07-10T13:48:35.097 に答える