我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性。比方说我们想要建立一個 div 层,则可以使用以下代码实现。
一.直接建立
简化document.createElement("div")动态生成层方法(转)function Button1_onclick() //直接采用代码建立一个DIV
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)
简化document.createElement("div")动态生成层方法(转){
简化document.createElement("div")动态生成层方法(转)    
var newElement = document.createElement('div');
简化document.createElement("div")动态生成层方法(转)    
var newText = document.createTextNode('这是新建立 div 中的文字。');
简化document.createElement("div")动态生成层方法(转)     document.body.appendChild(newElement);
//漏了这一句,否则行不通
简化document.createElement("div")动态生成层方法(转)
     newElement.id = 'newDiv';
简化document.createElement("div")动态生成层方法(转)     newElement.className
= 'newDivClass';
简化document.createElement("div")动态生成层方法(转)     newElement.setAttribute('name ','newDivName');
简化document.createElement("div")动态生成层方法(转)     newElement.style.width
= '300px';
简化document.createElement("div")动态生成层方法(转)     newElement.style.height
= '200px';
简化document.createElement("div")动态生成层方法(转)     newElement.style.margin
= '0 auto';
简化document.createElement("div")动态生成层方法(转)     newElement.style.border
= '1px solid #DDD';
简化document.createElement("div")动态生成层方法(转)     newElement.appendChild(newText);  
简化document.createElement("div")动态生成层方法(转)}
二.把建立新对象写成一个通用方法,增加其通用性
简化document.createElement("div")动态生成层方法(转)createEl = function(t, a, y, x)//编写建立一个新对象的通用方法
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)
简化document.createElement("div")动态生成层方法(转){
简化document.createElement("div")动态生成层方法(转)    
var e = document.createElement(t);
简化document.createElement("div")动态生成层方法(转)     document.body.appendChild(e);
//漏了这一句,否则行不通
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)
    if (a) 简化document.createElement("div")动态生成层方法(转){
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)        
for (var k in a) 简化document.createElement("div")动态生成层方法(转){
简化document.createElement("div")动态生成层方法(转)            
if (k == 'class') e.className = a[k];
简化document.createElement("div")动态生成层方法(转)            
else if (k == 'id') e.id = a[k];
简化document.createElement("div")动态生成层方法(转)    
else e.setAttribute(k, a[k]);
简化document.createElement("div")动态生成层方法(转)     }

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

简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)    
if (y) 简化document.createElement("div")动态生成层方法(转){ for (var k in y) e.style[k] = y[k]; }
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)    
if (x) 简化document.createElement("div")动态生成层方法(转){ e.appendChild(document.createTextNode(x)); }
简化document.createElement("div")动态生成层方法(转)    
return e;
简化document.createElement("div")动态生成层方法(转)}
  
简化document.createElement("div")动态生成层方法(转)
简化document.createElement("div")动态生成层方法(转)
//再通过以下方法来进行调用建立一个新层
简化document.createElement("div")动态生成层方法(转)
function Button2_onclick() //先把建立一个新的DIV的方法写成一个通用方法,然后通过调用方法实例化建立DIV
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)
简化document.createElement("div")动态生成层方法(转){
简化document.createElement("div")动态生成层方法(转)    
var newElement = createEl('div',
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)    
简化document.createElement("div")动态生成层方法(转){'class': 'newDivClass', id: 'newDiv', name: 'newDivName'},
简化document.createElement("div")动态生成层方法(转)简化document.createElement("div")动态生成层方法(转)    
简化document.createElement("div")动态生成层方法(转){width: '300px', height:'200px', margin:'0 auto', border:'1px solid #DDD'},
简化document.createElement("div")动态生成层方法(转)     '这是新建立div 中的文字。');
简化document.createElement("div")动态生成层方法(转)
简化document.createElement("div")动态生成层方法(转)}

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

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

相关文章:

  • 2022-12-23
  • 2021-05-15
  • 2021-08-28
  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-21
猜你喜欢
  • 2021-06-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-08
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案