[转]简化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中的文字。');
}
原创文章,转载请注明出处:代码人生https://www.code-life.com/
本文链接地址:https://www.code-life.com/?p=331

发表评论

您的电子邮箱地址不会被公开。