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 的答案,您将在链接中添加文本“html blah blah” 因为您使用的是append. 将其更改为:

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

它会在链接之后写出html 。

于 2009-01-19T14:47:43.960 回答