你必须删除变种.attr("type");从您的var input = $("#pass_log_id").attr("type");。 您还可以通过ternary operator在type text和之间切换来使其更优雅password:
.attr("type");
var input = $("#pass_log_id").attr("type");
ternary operator
type text
password
$(document).on('click', '.toggle-password', function() { $(this).toggleClass("fa-eye fa-eye-slash"); var input = $("#pass_log_id"); input.attr('type') === 'password' ? input.attr('type','text') : input.attr('type','password') });
您input实际上是字符串。检查控制台,您应该看到该字符串没有方法,attr()因为您分配$().attr()给input
input
attr()
$().attr()
$("body").on('click', '.toggle-password', function() { $(this).toggleClass("fa-eye fa-eye-slash"); var input = $("#pass_log_id"); if (input.attr("type") === "password") { input.attr("type", "text"); } else { input.attr("type", "password"); } });
Show/Hide