MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

Element.setAttribute()

设置指定元素上的一个属性值。如果属性已经存在,则更新该值;否则将添加一个新的属性用指定的名称和值。

要获取属性的当前值,使用 getAttribute(); 要删除一个属性,调用removeAttribute()

语法

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 -

规范

文档标签和贡献者

 此页面的贡献者: xgqfrms-GitHub, teoli, AlexChao
 最后编辑者: xgqfrms-GitHub,