setAttribute()函数可以设置该对象的属性,如果它没有这个属性,它将被创建。



语法结构:

el.setattribute(名称,价值)



参数列表:

参数描述

名称是必需的。指定要设置的属性的名称。

值是必需的。指定要设置的属性的值。



代码实例:







窗口。指针函数(){
无功mydiv = document.getelementbyid(mydiv );
mydiv.setattribute(身份
警报(mydiv.getattribute(ID));
}










上面的代码可以重置div的id属性值并弹出一组新的id属性值。

例二:







窗口。指针函数(){
无功mydiv = document.getelementbyid(mydiv );
mydiv.setattribute(newattr
警报(mydiv.getattribute(newattr ));
}









上面的代码可以设置DIV的newattr属性的值和弹出的属性值。我们在这里需要特别注意,因为DIV默认不有newattr属性。在这个时候,setAttribute()函数首先创建这个属性,然后将其分配给它。

上述两个代码实例可以在主流浏览器中执行成功,但这并不意味着setAttribute()函数可以与各种浏览器兼容。

看看代码的一个例子。







.textcolor{
字体大小:18px;
颜色:红色;
}


窗口。指针函数(){
无功mydiv = document.getelementbyid(mydiv );
mydiv.setattribute(班
}









上面的代码可以设置字体大小,在标准的浏览器18px,和字体颜色设置为红色,但它不是有效的在IE6和IE7浏览器。

但你仍然可以使用mydiv.getattribute(类)获得属性值文字颜色。

也就是说,在IE6和IE7浏览器的setAttribute()函数可以使用,但并不是所有的属性都是有效的。

下面是上述问题的属性列表:

1.class

2.for

3.cellspacing

4.cellpadding

5.tabindex

6.readonly

7.maxlength

8.rowspan

9.colspan

10.usemap

11.frameborder

12.contenteditable

13.style

为了解决这个问题,编写一个通用的跨浏览器接口方法来设置元素属性:


DOM =(函数(){())
无功fixattr = {
作用:'tabindex,
只读:'readonly,
' ':'htmlfor,
'class':'className',
Maxlength:'maxlength,
单元格间距:'cellspacing,
补白:'cellpadding,
Rowspan:'rowspan,
Colspan:'colspan,
Usemap:'useMap',
边框:'frameborder,
contenteditable:'contenteditable
},

div = document.createelement('div);
div.setattribute(' ',没有');

无功supportsetattr = div.classname =不;

返回{
setattr:功能(EL,名字,瓦迩){
el.setattribute(supportsetattr:名称(fixattr {姓名} | |名称),瓦迩);
},
GetAttr:功能(EL,name){
返回el.getattribute(supportsetattr:名称(fixattr {姓名}的名字| |));
}
}
});




首先,标准的浏览器中直接使用原始的属性名称;其次,IE6以上列出的属性 / 7仍然使用原来的属性名称;最后,这些特殊的属性使用fixattr,如类。

然后以下面的形式修改上面的代码实例:







{。文字颜色
字体大小:18px;
颜色:红色;
}


DOM =(函数(){())
无功fixattr = {
作用:'tabindex,
只读:'readonly,
' ':'htmlfor,
类:'classname,
Maxlength:'maxlength,
单元格间距:'cellspacing,
补白:'cellpadding,
Rowspan:'rowspan,
Colspan:'colspan,
Usemap:'usemap,
边框:'frameborder,
contenteditable:'contenteditable
},

div = document.createelement('div);
div.setattribute(' ',没有');

无功supportsetattr = div.classname =不;

返回{
setattr:功能(EL,名字,瓦迩){
el.setattribute(supportsetattr:名称(fixattr {姓名} | |名称),瓦迩);
},
GetAttr:功能(EL,name){
返回el.getattribute(supportsetattr:名称(fixattr {姓名}的名字| |));
}
}
});
窗口。指针函数(){
无功mydiv = document.getelementbyid(mydiv );
Dom.setAttr(mydiv,阶级,'textcolor);
}








上面的代码可以在所有主要浏览器是有效的,你可以设置字体大小和颜色设置为红色18px。

样式属性可以与EL样式的样式兼容。

以上是本文的全部内容,希望大家能喜欢。