如何在JavaScript中显示注释线程层次结构
How to display comment thread hierarchy in JavaScript?
我有一组JSON注释。此JSON加载到浏览器中。我希望将注释显示为线程注释层次结构,首先显示最新的注释。为了找到合适的算法,我做了很多搜索。这当然是一个已解决的问题,但我找不到
解释JSON字段:
- createdtime=划时代秒(创建注释的时间)
- documentid=此注释的documentid
- parentdocumentid=此评论作为回复的评论的文档ID
- topleveldocumentid=包含评论的博客文章的文档ID属于
问题是,使用Javascript在HTML中将这些注释显示为层次结构的有效方法是什么?(Jquery代码很好)
[
{
"commenttext": "This is a comment",
"parentdocumentid": "c88cbdd6d05811e19fe912314301329d",
"doctype": "comment",
"topleveldocumentid": "c88cbdd6d05811e19fe912314301329d",
"createdtime": 1343222535,
"documentid": "c0341e96d65b11e1a91d12314301329d"
},
{
"commenttext": "This is a another comment",
"parentdocumentid": "c88cbdd6d05811e19fe912314301329d",
"doctype": "comment",
"topleveldocumentid": "c88cbdd6d05811e19fe912314301329d",
"createdtime": 1343222639,
"documentid": "fe5209e0d65b11e1a91d12314301329d"
},
{
"commenttext": "Yet another comment",
"parentdocumentid": "c88cbdd6d05811e19fe912314301329d",
"doctype": "comment",
"topleveldocumentid": "c88cbdd6d05811e19fe912314301329d",
"createdtime": 1343297245,
"documentid": "b2d9f0f0d70911e1903d12314301329d"
},
{
"commenttext": "I have a comment",
"parentdocumentid": "c88cbdd6d05811e19fe912314301329d",
"doctype": "comment",
"topleveldocumentid": "c88cbdd6d05811e19fe912314301329d",
"createdtime": 1343364418,
"documentid": "1971ca6cd7a611e180fa12314301329d"
}
]
编辑:以下是我的一些具体问题:具体来说,我的问题是:
1:这个JSON数据结构是链表吗?"(即每个项目指定其父项)
2:是否有一种众所周知的算法可以迭代链表并将其显示为排序的注释层次结构?如果可以,有人能给我介绍一下吗?
3:注释层次结构是"有序树"的同义词吗?
感谢
使用模板的下划线库和for ... in
循环来循环遍历数组中的每个对象(注释)。
以下是使用这种方法应该遵循的基本模式的模型:
var data = {...your json obj...},
markup = $("#tmpl").html(),
commentTmpl = _.template(markup);
for (comment in data) {
$("#comment-list").append( commentTmpl(comment) );
}
以及您的模板:
<script type="javascript/template">
<li><%= commenttext %></li>
</script>
阅读这些内容以了解:
- 骨干模板文档:http://underscorejs.org/#template
- jQuery文档:http://jQuery.com(使用搜索功能了解anyjQuery方法)
相关文章:
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- javascript中的多线程
- Javascript支持多线程吗
- 如何在nodejs中创建线程池
- 起始节点.js用于并行的线程池
- Doppio:多线程是如何工作的,有什么限制吗
- 为什么Javascript SetTimeout()不是多线程的
- Selenium异步脚本在自己的线程中阻塞其他脚本
- Node.js如何使用更少的线程来处理多个连接
- Node.js如何用一个线程处理同时请求
- 从多线程C++插件回调NodeJS Javascript函数
- 电子框架是否允许网络工作者进行多线程处理
- 追加新web组件时出现线程问题
- 隔离每个线程/用户的setInterval
- Angular js显示类似gmail的重叠电子邮件线程
- 在节点.js的多个线程中运行任务
- JavaScript的setInterval可以阻止线程执行吗?
- 是否可以在加载Disqus线程后使用javascript覆盖Disqus 2012中的css
- 如何在JavaScript中显示注释线程层次结构
- 是否有可能在某些磁盘线程上设置私有注释?