动态添加DOM 节点

最近比较累,直接上干货.

方法: append, prepend,appendTo,prependTo.

方法都是jQuery的.  注意他们都可以传function参数.

举个栗子:

$("p").append(function(n){
      return "<b>This p element has index " + n + "</b>";
    });

如果要循环动态添加多个.

第一种方法:

可以先写个字符串模板.

var notebookTemplate = 
    '<li class="online">'+
    '<a>'+
    '<i class="fa fa-book" title="online" rel="tooltip-bottom">'+
    '</i> [name]</a></li>';

然后for循环的时候,用replace()方法替换成动态值.

for(var i=0;i<list.length;i++){
                var notebook = list[i];
                var li = notebookTemplate.replace("[name]",notebook.name);
                ul.append(li);
            }

如果有多个需要动态替换的值,可以替换多次.

第二种方法:函数

//把动态html ,return出去.
    var tempTr = function (value,name,nodeStr) {
        var nodeCheckbox = '';
        var nodeArr = nodeStr.split(',');
        var len = nodeArr.length;
        for (var j=0; j<len; j++) {
            var v_name = nodeArr[j].split('-');
            if ('开始' !== v_name[1] && '结束' !== v_name[1]) {    
                var nodeInput = '<input type=checkbox value='+ v_name[0] +' name=node>' + v_name[1];                 
                nodeCheckbox += nodeInput;
            }
        }

        return      '<TR>' 
                +    '<TD>' 
                +       '<INPUT type=checkbox value=' + value
                +                ' name=wfl οnclick=WflClick(this)>' + name
                +        '<span class=' + value +' style="{display:none; margin-left:20px}">'
                +        nodeCheckbox 
                +        '</span>'
                +    '</TD>'
                +'</TR>';
    }

//for 循环中动态添加.

for(var i = 0; i< len; i++){
                var json = jsonArray[i]; 
                for (var key in json) { 
                    var arrKey = key.split('-');
                    trs += tempTr(arrKey[0],arrKey[1],json[key]);
                } 
            }

两种方法看自己喜欢.

当然jsp,forEach也可以.

但现在用jsp已经很少了.

性能低,不好维护.

 

-------工作中记录和总结.

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值