不能用if语句保持css更改状态

时间:2012-07-19 16:26:34

标签: jquery

---更新的小提琴仍无法正常运作www.jsfiddle.net/atZPn/5只有在输入数据后,才能让输入框中的文字保持黑暗。

http://jsfiddle.net/atZPn/5/

代码:

   $(".searchbox").blur(function() {
    var searchbox = this,
        searchbox_val = $.trim( this.value );
    if (searchbox_val.length > 0) {
        return true;
    } else {
        $(searchbox).addClass("blur");
        return false;
    }
});

1 个答案:

答案 0 :(得分:1)

getElementByClassName应该getElementsByClassNamesearchbox_val searchbox_val[0]

/* Search Box Leave */
$(".searchbox").blur(function() {
    var searchbox_val = document.getElementsByClassName("searchbox");
    if (searchbox_val[0].value.length > 0) {
        return true;
    }
    else {
        $(this).addClass("blur");
        return false;
    }
});

Yon也可以尝试以下内容:

$(".searchbox").blur(function() {
    var searchbox = $(this),
        searchbox_val = $.trim( searchbox.val() );
    if (searchbox_val.length > 0) {
        return true;
    } else {
        searchbox.addClass("blur");
        return false;
    }
});

[更新]

HTML

<input class="searchbox" type="text" placeholder="Just some text" />

的jQuery

$(".searchbox").blur(function() {
    var searchbox = this,
        searchbox_val = $.trim( this.value );
    if (searchbox_val.length > 0) {
        $(searchbox).addClass("blur");
        return true;
    } else {
        $(searchbox).removeClass("blur");
        return false;
    }
});

DEMO