利用javascript的createElement创建一个html元素非常方便,元素创建成功后,也可以对其的各项属性进行修改,比如象下面这样:
myinput=document.createElement('');
myinput.id='username';
myinput.classList='options';
因为设置一个属性需要一行,所以想尝试一下把多项属性写入一个对象,逐个读取对象的名值对来创建元素,于是尝试把函数写成如下:
function newElement(tag,option){
var newelement=document.createElement(tag);
for(i in option){
newelement.i=option[i];
}
return newelement;
}
a=newElement('input',{'id':'username','classList':'options'});
结果函数正确返回了一个input对象,但是id与class并没有被设置,显然直接用“.”号调用属性的方式是不行了;
function newElement(tag,option){
var newelement=document.createElement(tag);
for(i in option){
newelement[i]=option[i];
}
return newelement;
}
a=newElement('input',{'id':'username','classList':'options'});
多次尝试后,发现可以写成类似关联数组的形式,程序正确返回已设定好指定属性的html元素。