在web开发中,经常会为某个标签设置属性,那么就可以利用js的setAttribute()方法为标签的属性设置值。
下面的内容翻译自W3C DOM Level 1中关于setAttribute方法的说明.
具体的方法参数如下:
object.setAttribute(sName, vValue [, iFlags])
参数:
sName |
必填项. String类型,属性名 |
vValue |
必填项. 为属性指定的变量,可以为string, number, 或者 Boolean类型 |
iFlags |
选填. 下面指定的两种 Integer 类型的标志
0 |
覆盖同名属性. |
1 |
默认值. 为属性添加指定的值. |
|
返回值
无返回值.
备注
如果指定的属性不存在,该方法讲为object添加新属性及值.
注意,当拼写属性名时. 如果 iFlags 设置成 1 并且 指定的sName 参数在该属性上没有相同名字时(包括大小写), object讲为之创建新属性.
如果object有两个或多个相同的属性名, 仅在值上不同时, iFlags设为 0, 该方法仅保存第一个被创建属性的值,其她的同名属性将被忽略.
使用该方法设置 CLASS 属性时, 请将sName 设为 "className",以符合Dynamic HTML (DHTML) 特性.(其实"className"仅适合在IE下使用,FF下要用"class")
firefox等可以使用
var dom=document.getElementById("name");
dom.setAttribute("style","width:10px;height:10px;border:solid 1px red;") ;
IE中则必须使用style.cssText
var dom=document.getElementById("name");
dom1.style.cssText = "width:10px;height:10px;border:solid 1px red;";
补充一下,目前style.cssText类似innerHTML了,已经成为一个web开发的事实标准。因此测试显示firefox浏览器也支持这种方式。