哪个后台模板能根据json的深度(判断是否存在一个属性,属性下边还有这个属性),递归的创建标签?

发布于 2022-09-06 09:44:52 字数 97 浏览 14 评论 0

想在后台写树结构html标签,首先要循环判断,json是否还有这个属性,有的话在标签内部在创建一个标签。然后进入json.属性下,在判断是否存在这个属性,在去在标签内部在创建标签。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

日裸衫吸 2022-09-13 09:44:52

找到了一个麻烦的方法,express端的数据可以传入模本,拿node举例子,有这种渲染数据的语法!{data} ,如果内部是html可以直接渲染为html,不做处理。所以可以在express理由渲染前,自己用拼接字符串的方法创建嵌套标签。然后给jade,直接放在页面应该存在的位置。核心代码如下:

//评论生成区
var son = ""; 
function bianli(children){
    var commentBox = "";
    for(item in children){
        var commentHtml = "";
        commentHtml += "<h4>"+children[item].subject+"</h4>";
        if(children[item].children&&children[item].children.length != 0){
            commentHtml += "<ul>"+bianli(children[item].children)+"</ul>";
        }
        commentHtml = "<li>"+commentHtml+"</li>"
        commentBox += commentHtml;
    }
    return commentBox;
}   
for(var i=0;i<initData.commentsList.length; i++){
    var sonContent = "";
    var comment = initData.commentsList[i];
    sonContent += "<h4>"+comment.subject+"</h4>";

    if(comment.children&&comment.children.length != 0){
        var children = comment.children;
        sonContent += "<ul>"+bianli(children)+"</ul>";
    }
    son += "<li class='son'>"+sonContent+"</li>"
}
var commentHtml = "<ul id='tree1'>"+son+"</ul>";
returnData.commentHtml = commentHtml;
//评论生成结束
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文