Javascript中setAttribute和点表示法有什么区别?

时间:2012-08-09 15:32:03

标签: javascript

  

可能重复:
  When to use setAttribute vs .attribute= in JavaScript?

为什么有时会设置这样的属性:

x.type = "submit"; 

和其他时间这样:

x.setAttribute("type", "submit");

我总是认为哪种方式无关紧要,但我遇到了这样的问题:

x.onClick = save;

但当我将其切换到此时,它可以工作:

x.setAttribute("onClick", "save()");

1 个答案:

答案 0 :(得分:2)

setAttribute仅适用于DOM元素,并且对HTML元素的属性名称进行小写。并且您不能使用点表示法为动态属性名称赋值。

还有这个:

  

使用setAttribute()修改某些属性,最值得注意的是值   在XUL中,工作不一致,因为属性指定了默认值   值。要访问或修改当前值,您应该使用   属性。例如,使用elt.value代替   elt.setAttribute('value', val)