0

私は次のようなコメントのdivを持っています

<div>
  <div>
    Some message over here
   </div>
   <div style = "height:10px;"> <a id = "post_id_1" class = "showReply" href = "javascript: void(0)">Reply</a></div>                                        
</div>

私の返信ボックス

<div id="replymsgbox" style="display: none;">
    <form id="frmComment" novalidate="novalidate" method="POST" name="frmComment">
        <div>
            <textarea id="comment_text" class="" name="comment[text]"></textarea>
            <div id="error_text"> </div>
        </div>
        <div>      
            <input type="submit" value="Post" name="Submit">
        </div>
    </form>
</div>    

私のJquery:

//showCommentBox

$('a.showReply').live("click", function(e){ 

$('#replymsgbox', $(this).parent().next()).slideToggle('fast')

});    

誰かが私を助けてくれますか。返信divまたはフォームを開くことができません。私が間違っているところ

4

4 に答える 4

1

jQueryの最新バージョンで以下を使用してください。

$('a.showReply').on("click", function(e){ 

   $('#replymsgbox').slideToggle('fast')

});    
于 2012-10-11T15:03:50.093 に答える
0
$(function() {   // if javascript code is before html
   $('a.showReply').click(function(e){ 
       $('#replymsgbox').slideToggle('fast')
   }); 
});

http://jsfiddle.net/gxLdd/

于 2012-10-11T15:05:46.360 に答える
0

$('a.showReply').on("click", function(e){ 
   $('#replymsgbox').slideToggle('fast')   
});

divまた、コンテンツが重ならないように、2 つの の間にパディングまたはスペースが必要です。この例では、<br/>.

現在は廃止されているため、から.liveへの変更に注意してください。.on

ここを参照してください:

jQuery 1.7 以降、.live() メソッドは非推奨になりました。.on() を使用して、イベント ハンドラーをアタッチします。

jQuery コードを 内に配置して、ドキュメントの準備も整っていることを確認します$(document).ready(function{ ... })。おそらくすでにこれを行っていて、関連するコードを貼り付けただけだと思いますが、常に確認することをお勧めします.

于 2012-10-11T15:07:00.850 に答える
0
$("a.showReply").on("click", function(){

    $(this).parent().parent().next().slideToggle("slow");

});  

ここにテストがあります:http://jsfiddle.net/2HczB/

あなたがこの方法でやろうとしたコードを見たので、私は next() で使用しました。div の id をすぐに呼び出す方がよいでしょう。ただし、私のソリューションでは、返信をクリックしたメッセージの後に返信を正確に開くことができます。

于 2012-10-11T15:13:00.890 に答える