我要求在点击眼睛图标时显示和隐藏用户密码,所以我为此编写了脚本,当我点击眼睛图标时,只有类在更改,但密码不可见,再次点击斜线眼睛图标时,它应该隐藏这两种方法不起作用,如何解决这个问题?
<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>
7条答案
按热度按时间qnyhuwrf1#
您的
input
实际上是字符串。检查控制台,您应该看到该字符串没有方法attr()
,因为您将$().attr()
赋给了input
qxgroojn2#
您必须从
var input = $("#pass_log_id").attr("type");
中删除变量.attr("type");
。您还可以使用
ternary operator
在type text
和password
之间进行更优雅的切换:dwbf0jvd3#
omjgkv6w4#
请更换
变量输入= $(“#传递日志ID”).属性(“类型”);
与
变量输入= $(“#通过日志ID”);
你需要的是元素而不是属性
dsekswqp5#
HTML代码
jquery代码
brjng4g36#
输出:
bxjv4tth7#
这是一个简单的脚本,带有密码切换处理Html和javascript代码