使用Jquery将评论回复表单插入页面
我一直在制作一个线程注释系统,作为正确学习php和javascript/jquery的一种方法。我过去做过一些零碎的工作,但我下定决心要好好学习 我很难将回复表单插入到正在回复的评论下面的评论树中。我知道这可能是非常基本的,但是当有人单击链接时,如何将html插入到页面中呢 此代码不适用于我:使用Jquery将评论回复表单插入页面,jquery,multithreading,forms,comments,Jquery,Multithreading,Forms,Comments,我一直在制作一个线程注释系统,作为正确学习php和javascript/jquery的一种方法。我过去做过一些零碎的工作,但我下定决心要好好学习 我很难将回复表单插入到正在回复的评论下面的评论树中。我知道这可能是非常基本的,但是当有人单击链接时,如何将html插入到页面中呢 此代码不适用于我: $(document).ready(function(){ $(function() { $('a#reply').click(function() {
$(document).ready(function(){
$(function() {
$('a#reply').click(function() {
$(this).append("the html blah");
});
});
});
有人看到我哪里出错了吗?要添加到rodbv的答案中,您将在由于使用了追加而单击的链接中添加文本“html废话”。将其更改为:
$(this).after("the html");
它将在链接后写出html
$(document).ready(function(){
$('a#reply').click(function() {
$(this).after("the html blah");
return false;
});
});
您可能需要“return false;”当您单击链接时,可以在其中阻止页面重新加载。如果其他建议均无效,则可能是您的链接选择器工作不正常。在您提供的示例中,您似乎正在寻找以下链接:
<a id='reply' href='#'>add comment</a>
在任何情况下,下面是一个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>
显示单击链接不会滚动页面的空间。
$(函数(){
$('a#clicky')。单击(函数(){
$(this.after('Hello There'))
返回false;
});
});
谢谢你的提示,页面上仍然没有任何内容。我被重定向到页面顶部,因为我的锚链接指向#(),在您的活动结束时添加一个“return false;”。谢谢,这似乎有道理,但我仍然被重定向到页面顶部。我的链接只是。链接到“#”将跳转到页面顶部,因为它正在寻找与之匹配的锚点-在本例中是第一个元素(正文),因为它是一个空白锚点<代码>返回false应该可以避免这种情况。它可以帮助发布一个链接到测试页面或粘贴上面的HTML。感谢sancho的帮助,但是Corey在页面下方的帖子中发现了问题。当你点击回复时,每次点击一条评论都会产生“HTML废话”。示例:“html blahthe html blahthe html blahthe html blahthe html blahthe html blahthe html blahthe html blahthe html blah”。对于每次单击,这将添加到评论,但我想打开一个文本区域,因此它必须只能单击一次。那么有什么建议吗?嗨,我试过你的代码,它现在正在工作,我想它可能太多了$(document).ready(function()){但不管是什么,你都帮了我很大的忙。谢谢。你好,科里,如果你能再次帮助我,我将非常感激。我发现该函数只会在页面上插入a#id的第一个实例的html。因为每个评论都有一个回复按钮,这是一个大问题,有什么想法吗?使用多个元素不是有效的html相同的ID。我建议将该ID更改为类,然后相应地修改选择器$('a.className')
<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>