2010-09-08 85 views
0

有时passwordField.setAttribute(“value”,“newValue”)不起作用于我的密码字段。但passwordField.value =“newValue”总是有效。setAttribute(“value”)对密码字段不起作用

此外,的setAttribute正在Mac平台很好,但有时在Win平台

不起作用,为什么会出现这种情况?

+0

在哪些浏览器中? – 2010-09-08 07:48:09

回答

1

忘掉JavaScript中HTML元素的属性。 IE中存在一些问题,它们并不完全符合您的想法,也不必要地冗长。 value属性完全符合您的需求,并在所有脚本浏览器中正确运行。

var input = document.getElementById("your_input"); 
input.value = "blah"; 
0

.setAttribute()在Internet Explorer中不起作用。我建议使用类似jQuery的框架进行DOM操作,因为它可以跨浏览器工作。这是这样做的jQuery的方式:

$(passwordField).val('newValue'); 

看看在getting started guide

+0

当'value'属性完美工作时,jQuery对此是过度的。 – 2010-09-08 08:25:53

+0

这是正确的,但由于jQuery修复了很多与DOM相关的兼容性问题,这可能是有用的。 'getElementById()'是关于跨浏览器的唯一DOM方法。没有正常化,这是一团糟。 – jwueller 2010-09-08 12:43:56