jquery addclass错误

时间:2011-11-18 20:44:33

标签: javascript jquery

我对jQuery有一点问题:

$('#form-submit').click(function () {

    $('#textarea, #name').removeClass('error-state').addClass('normal-state');

    var myName = $('#name').val();
    var myContent = $('#textarea').val();

    if ( myContent == '' || myName == '')
    {
        $('#textarea, #name').removeClass('normal-state').addClass('error-state');
        return false;
    }

    [more code here]

});   

此代码适用于#textarea但不适用于#name,我会检查并重新检查而不会发现错误。

但是,如果我们添加:

$('#name').val('some value');

return false;更改值之前,但CSS类仍然相同。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您的代码应该可以正常运行 - http://jsfiddle.net/Zpxmr/

我希望您知道ID是一次性使用,仅适用于一个元素

答案 1 :(得分:1)

尝试:

$('#form-submit').click(function () {

    var arrJEls = $('#textarea, #name');

    arrJEls.each(function(i){
        //See what happens with each element:
        console.log($(this));
        $(this).removeClass('error-state').addClass('normal-state');
    });

    var myName = $('#name').val();
    var myContent = $('#textarea').val();

    if ( myContent == '' || myName == '')
    {
        arrJEls.each(function(i){
            //See what happens with each element:
            console.log($(this));
            $(this).removeClass('normal-state').addClass('error-state');
        });
        return false;
    }

    [more code here]

});