Javascript 如何访问JQuery对象

Javascript 如何访问JQuery对象,javascript,jquery,object,Javascript,Jquery,Object,调用validateName时如何访问jquery对象 在下面的代码中,errorDate不是JQuery对象 对变量名的更正 $(document).ready(function() { var errorDate = $("#errorDate"); errorDate.blur(validateName); function validateName() { if (errorDate.val().length == "") {

调用validateName时如何访问jquery对象

在下面的代码中,
errorDate
不是JQuery对象

对变量名的更正

$(document).ready(function() {
    var errorDate = $("#errorDate");
    errorDate.blur(validateName);

    function validateName() {
        if (errorDate.val().length == "") {
            errorDate.addClass("error");
            return false;
        }
        else {
            errorDate.removeClass("error");
            return true;
        }
    }  
});
只需使用
$(this)
而不是
name

即可

$(document).ready(function() {
    var errorDate = $("#errorDate");
    errorDate.blur(validateName);

    function validateName() {
        var $this = $(this);
        if ($this.val().length == "") {
            $this.addClass("error");
            return false;
        }
        else {
            $this.removeClass("error");
            return true;
        }
    }  
});
或者使用
errorDate
而不是
name
,因为它是一个闭包变量

$(document).ready(function() {
    var errorDate = $("#errorDate");
    errorDate.blur(validateName);

    function validateName() {
        if (errorDate.val().length == "") {
            errorDate.addClass("error");
            return false;
        }
        else {
            errorDate.removeClass("error");
            return true;
        }
    }  
});
试试这个

$(document).ready(function() {
    var errorDate = $("#errorDate");
    errorDate.blur(validateName);

    function validateName() {
        // no need to get length you can use $(this).val()==""
        if ($(this).val() == "") {
            $(this).addClass("error");
            return false;
        }
        else {
            $(this).removeClass("error");
            return true;
        }
    }  
});

拨弄

抱歉,我的错误。变量名已更正,正如您在文章中提到的。谢谢@ArunPJohny