添加一个新属性(attribute)到元素上,或改变元素上已经存在的属性的值。
语法
element.setAttribute(name, value);
name
是表示属性名称的字符串value
是属性的新值
例子
var d = document.getElementById("d1"); d.setAttribute("align", "center");
备注
当在 HTML 文档中的 HTML 元素上调用 setAttribute()
方法时,该方法会将其属性名称(attribute name)参数小写化。
如果指定的属性已经存在,则其值变为传递的值。如果不存在,则创建指定的属性。
尽管对于不存在的属性,getAttribute()
返回 null
,你还是应该使用 removeAttribute()
代替 elt.setAttribute(attr, null)
来删除属性。
使用 setAttribute()
修改某些属性值时,可能得不到期望结果,尤其是 XUL 中的 value,这是由于 attribute 指定的是默认值。要访问或修改当前值,应该使用 property 属性。例如,使用 elt.value
代替 elt.setAttribute('value', val)
。
DOM methods dealing with element's attributes:
Not namespace-aware, most commonly used methods | Namespace-aware variants (DOM Level 2) | DOM Level 1 methods for dealing with Attr nodes directly (seldom used) |
DOM Level 2 namespace-aware methods for dealing with Attr nodes directly (seldom used) |
---|---|---|---|
setAttribute (DOM 1) |
setAttributeNS |
setAttributeNode |
setAttributeNodeNS |
getAttribute (DOM 1) |
getAttributeNS |
getAttributeNode |
getAttributeNodeNS |
hasAttribute (DOM 2) |
hasAttributeNS |
- | - |
removeAttribute (DOM 1) |
removeAttributeNS |
removeAttributeNode |
- |