我是javascript的新手.我想在我的html页面上获取所有输入类型密码.
我知道有一种方法可以使用Javascript来做这种事情,但我不知道如何.
然后,对于每一个,我想分配一个关于文本更改的事件.
我怎样才能做到这一点?
谢谢
Rob*_*sto 12
我认为你的意思是
<input type="password">
Run Code Online (Sandbox Code Playgroud)
如果是这样,你可以试试这样的函数:
function getPwdInputs() {
var ary = [];
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++) {
if (inputs[i].type.toLowerCase() === "password") {
ary.push(inputs[i]);
}
}
return ary;
}
Run Code Online (Sandbox Code Playgroud)
我希望 Robusto 不介意我扩展他的解决方案,以获得在现代浏览器上表现更好的解决方案。Chrome、Safari、IE8 和 Firefox 都支持querySelectorAll,因此如果可用,使用它似乎更合适。
function getPwdInputs()
{
// If querySelectorAll is supported, just use that!
if (document.querySelectorAll)
return document.querySelectorAll("input[type='password']");
// If not, use Robusto's solution
var ary = [];
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++) {
if (inputs[i].type.toLowerCase() === "password") {
ary.push(inputs[i]);
}
}
return ary;
}
Run Code Online (Sandbox Code Playgroud)
注意。这应该不是问题,但值得注意的是,它querySelectorAll会返回一个集合,而回退方法将返回一个数组。仍然没什么大不了的,它们都有length属性,并且成员的访问方式相同。