扩展JS格式化(Format)功能及评论树

1、JS格式化功能
<script>
        /*
        1. 调用对象方法时,通过调用类的prototype中的方法,可以扩展
        2. 正则表达式 /\w+/g
        3. 字符串replace
                ‘‘.replace(‘alex‘,‘sb‘);
                ‘‘.replace(/\w+/,‘sb‘);
                ‘‘.replace(/\w+/g,‘sb‘);
                ‘‘.replace(/(\w+)/g,function(k,kk){return 11;});
        */
        String.prototype.Format = function(arg){
            /*
            this,当前字符串  "i am {name1}, age is {age9}"
             arg,Format方法传入的参数 {name:‘alex‘,age:18}
             return,格式化之后获取的新内容 i am alex, age is 18
            */
            var temp = this.replace(/\{(\w+)\}/g,function(k,kk){
                return arg[kk];
            });
            return temp;
        };

2、利用以上格式化功能和递归实现评论树

function commentTree(commentList){
            var comment_str = "<div class=‘comment‘>";
            $.each(commentList,function(k,row){
                // var temp = "<div class=‘content‘>"+ row.content +"</div>";
                var temp = "<div class=‘content‘>{content}</div>".Format({content:row.content});
                comment_str += temp;
                if(row.child.length>0){
                    comment_str += commentTree(row.child);
                }

            });
            comment_str += ‘</div>‘;

            return comment_str;
        }
时间: 2024-12-28 20:26:10

扩展JS格式化(Format)功能及评论树的相关文章

扩展BootstrapTable的treegrid功能

扩展BootstrapTable的treegrid功能 阅读目录 一.效果预览 二.代码示例 三.组件需要完善的地方 四.总结 正文 前言:上篇  JS组件系列--自己动手封装bootstrap-treegrid组件 博主自己动手封装了下treegrid的功能,但毕竟那个组件只是一个单独针对树形表格做的,适用性还比较有限.关注博主的园友应该知道,博主的博客里面写了很多bootstrapTable的扩展,今天打算在直接在bootstrapTable的基础上扩展一个treegrid的功能,很多长期关

js格式化日期yyyyMMdd

先来一个土方法: <script>function getyyyyMMdd(){ var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth() + 1; var curr_year = d.getFullYear(); String(curr_month).length < 2 ? (curr_month = "0" + curr_month): curr_month; S

Django第8章: 多级评论树

模拟实现流程 代码 // 传入的参数形式要求 comment_list = comment_list = [ {'id': 1, 'content': '1111', 'parent_id': None, 'children_contents':[]}, ... ] // 转换成嵌套结果列表 def transform_list(comment_list): comment_dict = {} for d in comment_list: id = d.get('id') comment_dic

Sublime Text 3 JS 格式化插件 JsFormat的配置使用

1.首先需要下载安装包:(下载地址:https://github.com/jdc0589/JsFormat) 2.插件包放到sublime安装目录的Data\Packages目录中 3.重新打开sublime就能使用js格式化插件 使用方法: 1.快捷键:ctrl+alt+f 2.先用快捷键打开命令面板 "ctrl + shift + p", 再输入 "Format: Javascript" 就可以使用格式化命令

js格式化数字实例代码

js格式化数字实例代码:数字往往需要进行一定的格式化,一来是便于阅读,二来是实际需要,比如钱数就常常按千位逗号分隔,下面就是一个这样的函数能够是此功能,并且能够保留指定书目的小数,且自动实现四舍五入效果.代码实例如下: function fmoney(s,n) { n=n>0&&n<=20?n:2; s=parseFloat((s+"").replace(/[^\d\.-]/g,"")).toFixed(n)+"";

Numeral.js – 格式化和操作数字的 JavaScript 库

Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴趣的相关文章 太赞了!超炫的页面切换动画效果[附源码下载] 创意无限!一组网页边栏过渡动画[附源码下载] 真是好东西!13种非常动感的页面加载动画效果 你见过吗?9款超炫的复选框(Checkbox)效果 时尚设计!三种奇特网格加载效果[附源码下载] 源码下载      在线演示 本文链接:Numer

js 格式化时间日期函数小结

下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(

js格式化时间戳

//js格式化时间戳,转换为时间格式  2017-1-15 4:10:15 function getLocalTime(nS) { var time = new Date(parseInt(nS) * 1000).toLocaleString(); var reg = new RegExp("(/)", "g"); var reg_time = new RegExp("(上午|下午)", "g"); return time.r

Chrome扩展开发之四——核心功能的实现思路

目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制和通信方式 3.Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载 4.Chrome扩展开发之四——核心功能的实现思路 如果你对GmailAssist感兴趣,可以在chrome商店中搜索“Gmail助手”,或点击这里直接访问商店来安装试用:如果你对GmailAssist的源码感兴趣,