我想更改HTML'input'元素'type'属性,从type =“password”更改为type =“text”。
我知道按ID查找元素会更容易,但并不是每个页面都有相同的密码输入ID。如何定位密码输入并将其内部值更改为一种文本。
我有几行JavaScript代码:
a=document.getElementsByTagName("input");
a.setAttribute(type,text);
答案 0 :(得分:2)
将密码类型的所有元素转换为文本:
var arr = document.getElementsByTagName("input");
for (var i = 0; i < arr.length; i++) {
if (arr[i].type == 'password') arr[i].setAttribute('type','text');
}
注意:并非所有浏览器都允许对输入的type
属性进行动态更改。
答案 1 :(得分:1)
您可以使用以下查询获取密码字段。
document.querySelector('input[type="password"]').type = "text";
如果您要处理多个字段,可以使用querySelectorAll
并循环显示它们。
var pwds = document.querySelectorAll('input[type="password"]');
for (var i=0;i<pwds.length;i++){
pwds[i].type = "text";
}
答案 2 :(得分:1)
这会将密码类型的每个输入转换为文档类型文本的输入。
Array.prototype.slice.call(document.querySelectorAll('input[type="password"]'))
.forEach(function (elt) {
elt.setAttribute('type', 'text');
});
答案 3 :(得分:-1)
该函数被称为document.getElementsByTagName
(带有s),它产生一个元素列表。因此,您需要使用索引(第一个输入的a[0]
等)来解决它。)
我认为问题在于确定您需要更改哪些输入,如果它们没有标记ID。