.append jQuery函数

r6hnlfcb  于 2022-11-22  发布在  jQuery
关注(0)|答案(2)|浏览(134)

处理后应生成的HTML:

<div class="comments_action_207">
   <div class="list_item_comments list_item_comments_207">
      <div class="comment_separator">text goes here</div>
   </div>
</div>

处理前的HTML:

<div class="comments_action_207"></div>
<div class="list_item_comments list_item_comments_207"><div class="comment_separator">text goes here</div></div>

允许我进行上述操作的JavaScript是:

$(function() {
    $('.comments_action_207').click(function() {
        var num = this.className.split('_').pop();
        $('</div>',{'class':'list_item_comments list_item_comments_' + num})
            .append('<div class="comment_separator">text goes here</div>')
            .appendTo(this);
    });
});

我测试了上面的JavaScript,它运行的很好。但是我不明白的是为什么我不需要传递一个开头的div标签。如果我传递了一个开头的div标签,代码就不能正常工作了。

$('<div></div>',{'class':'list_item_comments list_item_comments_' + num}).

如果你能逐行解释的话,我会更容易理解。

xoshrz7s

xoshrz7s1#

您的<div>未正确关闭:

$('<div><div/>'
            ^

jQuery接受<div /><div><div></div>,但 * 不接受其他 *(即没有HTML属性):http://api.jquery.com/jQuery/#jQuery2

lf5gs5x2

lf5gs5x22#

试试这个......会成功的

$('<div></div>',{'class':'list_item_comments list_item_comments_' + num})

相关问题