5

私は、php と javascript/jquery を正しく学習する方法として、スレッド化されたコメント システムを作成しています。私は過去にちょっとしたことをしましたが、それを適切に学ぶために新年の決意をしました.

返信されるコメントの下のコメント ツリーに返信フォームを挿入するのに問題があります。これはおそらくかなり基本的なことだと思いますが、誰かがリンクをクリックしたときにページに html を挿入するにはどうすればよいでしょうか。

このコードは私にとってはうまくいきませんでした:

$(document).ready(function(){
    $(function() {
        $('a#reply').click(function() {

            $(this).append("the html blah");    

        });
    });

}); 

どこが間違っているのか誰にもわかりますか?

4

3 に答える 3

3
$(document).ready(function(){
        $('a#reply').click(function() {
            $(this).after("the html blah");
            return false;
        });
});

「return false;」が必要な場合があります。リンクをクリックしたときにページが自動的にリロードされないようにします。

于 2009-01-19T14:58:46.497 に答える
2

他の提案が機能していない場合は、リンクのセレクターが正しく機能していない可能性があります。提供した例では、次のようなリンクを探しているようです。

<a id='reply' href='#'>add comment</a>

あれは正しいですか?htmlの生成方法については言及していませんが、asp.netでサーバー側ID!=クライアント側IDを知っているので、セレクターを次のように変更する必要があります。

$('a[id$=reply]')

いずれにせよ、これは私にとってうまく機能しているhtmlの完全な例です:

<html>
    <head>
        <script type="text/javascript" src='scripts\jquery-1.2.6.min.js'></script>
    </head>
    <body>
        <div style='height:400px'>
            Space to demonstrate that clicking the link does not scroll the page.
        </div>
        <div id='main'>
            <a href='#' id='clicky'>here</a>
        </div>
    </body>
    <script>
        $(function(){
            $('a#clicky').click(function(){
                $(this).after('Hello There')
                return false;
            });
        });
    </script>
</html>
于 2009-01-19T16:01:12.877 に答える
1

rodbv の回答に追加するにappend. 次のように変更します。

$(this).after("the html");

代わりに、リンクのに html を書き出します。

于 2009-01-19T14:47:43.960 に答える