0

だから私は1時間ほど前にjQueryを学び始めたばかりで、このコードを持っています

$(".actions .readbody").click(...)回線が機能​​していないように見える理由を解明しようとしているだけです。

私はもともと、すべてのボタンがの< ul >代わりにある場所でこれを機能させていました< div >(そして各ボタンには独自のものがありました< li >)。クラスは、ボタンに直接ではなく、readbody本文の読み取りボタンに追加されました。< li >問題のある行はもっと似て$(".actions li.readbody button").click(...)いました。

完全なコードはjsfiddleに投稿されています:http://jsfiddle.net/J6u5X/

4

5 に答える 5

1

私はあなたの例をjsFiddledしました-この方法でコードをいじる方がはるかに簡単です。http://jsfiddle.net/v7ayc/を参照してください

私が最初に気づいたのは、クリック ハンドラ=のループ内の演算子です。while==

とにかく、関数の本体を次のコードに置き換えると、コンテンツが切り替わります。

$(this).parent('.actions').siblings('.body').toggle();

一般的に言えば、jQuery は DOM をトラバースするためのはるかに簡単で読みやすい方法を提供します。標準の DOM インターフェイスの代わりに自由に使用してください。

于 2012-09-20T08:40:06.837 に答える
0

リンクから .actions には子クラス .readbody がありませんか? $('.actions button').click..ボタンにクラス名を使用または付けて、クリックメソッドでこれらを参照するだけです

于 2012-09-20T08:32:41.940 に答える
0

問題は、JavaScript が単に必要な要素を見つけられないことだと思います。

while ループを切り替えるためにあなたのコードをいじりました。ここにフィドルがあります。

于 2012-09-20T08:43:16.040 に答える
0

このリンクJqueryを参照してください

  $(".test").val()
  $("#test").val()

 .test is class name of the HTML tag
 #test is id name of the HTML tag 
于 2012-09-20T08:34:43.890 に答える
0

問題は、クリック ハンドラー内で実行しようとしていることが機能していないことです。2 つの parentNode 呼び出しでチェーンを上に移動しすぎています

var mybody = this.parentNode.parentNode

これはする必要があります

var mybody = this.parentNode

記事の本文にアクセスするために必要なのは 1 つだけです。

http://jsfiddle.net/8zsr5/2/期待どおりに動作する更新されたフィドルを参照してください

于 2012-09-20T08:36:15.633 に答える