-1

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;
        }
    }  
});
4

3 に答える 3

5

$(this)の代わりに使用してnameください。

于 2013-06-14T05:57:44.073 に答える
2

あなたはできる

$(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;
        }
    }  
});
于 2013-06-14T05:58:03.383 に答える
2

これを試して、

$(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;
        }
    }  
});

フィドルhttp://jsfiddle.net/jtWFX/

于 2013-06-14T06:01:42.793 に答える