0

简而言之,我将在具有这种结构的页面上有一系列 div:

<div id="statuses">
   <p><?php echo $status; ?></p>
   <div id="statuscom">
      <a id="comment" href="#">Comment</a>
   </div>
</div>

当单击评论href时,我希望它将另一个div附加到已单击的div上,并且只有那个div。

我有这个:

$(function {
    $("a#comment").click(function() {  
        $(this).append("<div id=\"statuscomadd\"</div>");
    });
});

这似乎没有做任何事情,再次,任何帮助将不胜感激!

4

4 回答 4

1

首先,您不应该在具有相同 ID(注释)的同一页面上有多个标签。

话虽如此,您的代码存在一些问题:在 HTML 中缺少括号function、附加到<a>标记和语法问题。总的来说,它应该是这样的:

$(function() {
    $("a#comment").click(function() {  
        $("<div id=\"statuscomadd\"></div>").insertAfter(this);
    });
});
于 2012-06-22T13:07:38.857 回答
1
  1. 您的语法错误(该函数没有参数,也没有简单的()
  2. 您的 HTML 错误(div未关闭)
  3. 如果您想在页面加载时创建点击处理程序,请使用$(document).ready(...)$(function () {...})
  4. 您在 A 标签旁边附加了一个空 DIV,这就是您想要的吗?
  5. statuscomadd正如另一位用户所说,当您可以单击并添加多个 div 时,为什么要使用 id ( )?最好使用一个类。或者,如果您只需要添加一个 div,请使用.one()处理程序。

尝试:

$(function () {
    $("a#comment").click(function() {  
        $(this).append("<div class=\"statuscomadd\"></div>");
    });
});
于 2012-06-22T13:05:16.740 回答
0

您不应该将 div 附加到标签。相反,您应该在该标签之后(或之前,也许)附加它

$(function() {
    $("a#comment").click(function() {  
        $('<div id="statuscomadd"></div>').insertAfter(this);
    });
});
于 2012-06-22T13:05:48.557 回答
0

语法错误 div 未关闭

$(function {
    $("a#comment").click(function() {  
    $(this).append("<div id=\"statuscomadd\"></div>");
   });
 });
于 2012-06-22T13:06:21.993 回答