Javascript 更改表中输入的类型
我正在尝试将一行中显示的输入文本的类型从文本更改为密码。它会像我想要的那样更改类型,但显示的文本不会从可见变为不可见Javascript 更改表中输入的类型,javascript,html,Javascript,Html,我正在尝试将一行中显示的输入文本的类型从文本更改为密码。它会像我想要的那样更改类型,但显示的文本不会从可见变为不可见 函数changeType(){ var x=document.getElementById(“表”).rows[1]。单元格; var值=x[0]。值; 如果(x[0]。类型==“密码”){ x[0]。type=“text”; }否则{ x[0]。type=“password”; } } 网站 用户名 密码 您可以在自己的代码上使用querySelector使此操作变得非常简
函数changeType(){
var x=document.getElementById(“表”).rows[1]。单元格;
var值=x[0]。值;
如果(x[0]。类型==“密码”){
x[0]。type=“text”;
}否则{
x[0]。type=“password”;
}
}
网站
用户名
密码
您可以在自己的代码上使用querySelector
使此操作变得非常简单,如下所示:
函数changeType(){
var x=document.querySelector(“input.password”);
var值=x.0值;
如果(x.type==“密码”){
x、 type=“text”;
}否则{
x、 type=“密码”;
}
}
网站
用户名
密码
评论中提到了HTML和JavaScript的问题:
x
指的是表格单元格,而不是输入这样就不需要遍历DOM 您可以在原始代码中随意使用inline
onclick
方法。我把它改成了我自己喜欢的
功能切换类型(输入){
input.type=(input.type='password')?
“文本”:
“密码”;
}
var pass_input=document.getElementById(“pass_input”);
var pass_toggle=document.getElementById('pass_toggle');
pass_toggle.addEventListener('change',function(){
切换类型(通过输入)
});代码>
th{
文本对齐:左对齐;
}
标签{
光标:指针;
}
网站
用户名
密码
您的输入周围缺少
td
s。您的HTMl无效td
s应该在tr
s中。x
指的是表格单元格,而不是itok中的输入,thx,但这可能不是问题所在。@zwerg4的答案到目前为止是100%正确的。