我正在构建具有一层深层嵌套回复的评论系统。我的评论系统基于<ul>
和<li>
标记。下面是树的示例:
<ul class="comments">
<li>comment text 1</li>
<li>
comment text 2
<ul class="nested">
<li>Reply 1 of comment text 2</li>
<li>Reply 2 of comment text 2</li>
</ul>
</li>
</ul>
注释是基于Ajax的(jQuery)。我的问题是如何检查父级注释是否存在嵌套答复?如果存在,那么我应该能够仅添加新注释,否则,我应该能够创建子<ul class="nested">
节点,然后插入返回的html。
因此,以上面的示例为例,如果有人在回复comment text 1
,则应该能够首先创建<ul>
节点,然后插入返回的<li>
元素。但是,如果有人在回复comment text 2
。我应该能够将返回的<li>
元素附加到现有的<ul>
子节点中。
`
答案 0 :(得分:0)
我们可以通过获取其长度来检查孩子“ .nested”的存在。 如果$(this)是您的列表Item li标签(注释文本1)...
<script>
var comment = 'Reply 1 of comment text 1';
if($(this).find('.nested').length > 0) {
$(this).find('.nested').append('<li>'+comment+'</li>');
} else {
$(this).append('<ul class="nested"><li>'+comment+'</li></ul>');
}
</script>