处理后应生成的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}).
如果你能逐行解释的话,我会更容易理解。
2条答案
按热度按时间xoshrz7s1#
您的
<div>
未正确关闭:jQuery接受
<div />
、<div>
和<div></div>
,但 * 不接受其他 *(即没有HTML属性):http://api.jquery.com/jQuery/#jQuery2lf5gs5x22#
试试这个......会成功的