Javascript 如何使用jquery在单击眼睛图标时显示和隐藏密码
我有要求显示和隐藏用户密码时,点击眼睛图标,所以我写了脚本,当我点击眼睛图标,只有类是改变,但密码是不可见的,再次点击斜线眼睛图标,它应该隐藏这两个方法不工作如何解决这个问题Javascript 如何使用jquery在单击眼睛图标时显示和隐藏密码,javascript,jquery,Javascript,Jquery,我有要求显示和隐藏用户密码时,点击眼睛图标,所以我写了脚本,当我点击眼睛图标,只有类是改变,但密码是不可见的,再次点击斜线眼睛图标,它应该隐藏这两个方法不工作如何解决这个问题 <input type="password" name="player_password" id="pass_log_id" /> <span toggle="#password-field" class="fa fa-fw fa-eye field_icon toggle-password">&
<input type="password" name="player_password" id="pass_log_id" />
<span toggle="#password-field" class="fa fa-fw fa-eye field_icon toggle-password"></span>
<script>
$("body").on('click','.toggle-password',function(){
$(this).toggleClass("fa-eye fa-eye-slash");
var input = $("#pass_log_id").attr("type");
if (input.attr("type") === "password") {
input.attr("type", "text");
} else {
input.attr("type", "password");
}
});
</script>
$(“正文”)。在('单击','上。切换密码',函数(){
$(this.toggleClass(“fa-eye-fa-eye-slash”);
var输入=$(“#通过日志_id”).attr(“类型”);
if(input.attr(“type”)=“password”){
input.attr(“类型”、“文本”);
}否则{
输入属性(“类型”、“密码”);
}
});
您的输入实际上是字符串。检查控制台,您应该看到字符串没有方法attr()
,因为您将$().attr()
分配给输入
$(“body”)。在('单击','上。切换密码',函数(){
$(this.toggleClass(“fa-eye-fa-eye-slash”);
var输入=$(“#通过日志_id”);
if(input.attr(“type”)=“password”){
input.attr(“类型”、“文本”);
}否则{
输入属性(“类型”、“密码”);
}
});代码>
显示/隐藏
您必须删除var.attr(“type”)代码>从您的var输入=$(“#pass_log_id”).attr(“type”)代码>
您还可以使用三值运算符
在键入文本
和密码
之间进行切换,使操作更加优雅:
$(文档).on('单击','切换密码',函数()){
$(this.toggleClass(“fa-eye-fa-eye-slash”);
var输入=$(“#通过日志_id”);
input.attr('type')=='password'?input.attr('type','text'):input.attr('type','password'))
});代码>
请更换
var输入=$(“#通过日志_id”).attr(“类型”)
与
var输入=$(“#通过日志_id”)
您需要的是元素而不是属性,
Show
函数myFunction(){
var x=document.getElementById(“myInput”);
如果(x.type==“密码”){
x、 type=“text”;
}否则{
x、 type=“密码”;
}
}
HTML代码
<input type="password" placeholder="Password" id="pwd" class="masked" name="password"
/>
<button type="button" onclick="showHide()" id="eye">
<img src="eye.png" alt="eye"/>
</button>
可能重复的可能重复的工作代码示例@Manasi plz告诉我我的code@MSp您正在执行**.attr(“键入”);“2次。**1) var输入=$(“#通过日志_id”).attr(“类型”);和2)如果(input.attr(“type”)==“password”),而此代码可能会回答问题,提供有关此代码回答问题的原因和/或方式的其他上下文将提高其长期价值。@adiga感谢您的时间
$(document).ready(function () {
$("#eye").click(function () {
if ($("#password").attr("type") === "password") {
$("#password").attr("type", "text");
} else {
$("#password").attr("type", "password");
}
});
});