操作后应生成的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}).
如果可以,请逐行解释,这样我就更容易理解了。
由于
答案 0 :(得分:5)
您的<div>
未正确关闭:
$('<div><div/>'
^
jQuery接受<div />
,<div>
和<div></div>
,但没有别的(即没有HTML属性):http://api.jquery.com/jQuery/#jQuery2
答案 1 :(得分:0)
请尝试这个......它会起作用
$('<div></div>',{'class':'list_item_comments list_item_comments_' + num})