Jquery != 运算符返回假密码值为真?

Jquery != 运算符返回假密码值为真?,jquery,css,if-statement,Jquery,Css,If Statement,我想检查密码输入值是否不等于密码2输入值。无论密码是否匹配,它都返回true html: jquery: $( document ).ready(function() { $('.animated').on('click', function (e) { if ($('#pw'.value) != $('#pw2'.value)) { e.preventDefault(); $(this).addClass('notEqual');

我想检查密码输入值是否不等于密码2输入值。无论密码是否匹配,它都返回true

html:

jquery:

$( document ).ready(function() {

  $('.animated').on('click', function (e) {
      if ($('#pw'.value) != $('#pw2'.value)) {
          e.preventDefault();
          $(this).addClass('notEqual');
      } else {
          console.log("Passwords are equal");
      }
  });

});
JSBIN:


谢谢。

您的语法有点不正确:

($('#pw'.value) != $('#pw2'.value))
应该是

($('#pw').val() != $('#pw2').val())

按照您的理解,您正在查看字符串
“#pw”
上的
value
属性和字符串
“#pw2”
value
属性,它们是未定义的,将未定义传递给jQuery,这将为您提供空数组。

您的jQuery中有一些错误:

  $('.animated').on('click', function (e) {
      //should be $('#pw').val() instead of $('#pw'.value)
      if ($('#pw').val() != $('#pw2').val()) {
          e.preventDefault();
          $(this).addClass('notEqual');
      } else {
          console.log("Passwords are equal");
      }
  });

您需要使用jquery的
.val()
。此外,语法错误,方法调用超出选择器范围:

我相信你的意思是
$('#pw').val()
($('#pw').val() != $('#pw2').val())
  $('.animated').on('click', function (e) {
      //should be $('#pw').val() instead of $('#pw'.value)
      if ($('#pw').val() != $('#pw2').val()) {
          e.preventDefault();
          $(this).addClass('notEqual');
      } else {
          console.log("Passwords are equal");
      }
  });
$( document ).ready(function() {

  $('.animated').on('click', function (e) {
      if ($('#pw').val() != $('#pw2').val()) {
          e.preventDefault();
          $(this).addClass('notEqual');
      } else {
          console.log("Passwords are equal");
      }
  });

});