简化document.createElement("div")动态生成层方法

我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性。比方说我们想要建立一個 div 层,则可以使用以下代码实现。

一.直接建立
function Button1_onclick() //直接采用代码建立一个DIV
{
    var newElement = document.createElement('div'); 
    var newText = document.createTextNode('这是新建立 div 中的文字。'); 
    document.body.appendChild(newElement); //漏了这一句,否则行不通 
    newElement.id = 'newDiv'; 
    newElement.className = 'newDivClass'; 
    newElement.setAttribute('name ','newDivName'); 
    newElement.style.width = '300px'; 
    newElement.style.height = '200px'; 
    newElement.style.margin = '0 auto'; 
    newElement.style.border = '1px solid #DDD'; 
    newElement.appendChild(newText);  
}

二.把建立新对象写成一个通用方法,增加其通用性
createEl = function(t, a, y, x)//编写建立一个新对象的通用方法

    var e = document.createElement(t); 
    document.body.appendChild(e); //漏了这一句,否则行不通 
    if (a) { 
        for (var k in a) { 
            if (k == 'class') e.className = a[k]; 
            else if (k == 'id') e.id = a[k]; 
    else e.setAttribute(k, a[k]); 
    } 
    } 
    if (y) { for (var k in y) e.style[k] = y[k]; } 
    if (x) { e.appendChild(document.createTextNode(x)); } 
    return e; 

//再通过以下方法来进行调用建立一个新层
function Button2_onclick() //先把建立一个新的DIV的方法写成一个通用方法,然后通过调用方法实例化建立DIV
{
    var newElement = createEl('div', 
    {'class': 'newDivClass', id: 'newDiv', name: 'newDivName'},
    {width: '300px', height:'200px', margin:'0 auto', border:'1px solid #DDD'}, 
    '这是新建立div 中的文字。');

}

怎看之下这两个方法似乎使用了较长的代码块来达成相同的目的,其实不然,不过createEI这个通用方法实用性要强的多,在建立同类对象时性能会好的多。

转载于:https://www.cnblogs.com/7qin/p/9607272.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值