在文本框中键入时使用jQuery更改图标的颜色

时间:2016-04-19 17:26:02

标签: javascript jquery css

我在其中有一个文本框和一个信封图标,如下所示:

<input id="AdminEmail" name="AdminEmail" style="width:100%;padding-right:30px;" type="text" value="">
<span class="glyphicon glyphicon-envelope  form-control-feedback" style="right: 10px; line-height: 27px; color: lightblue"></span>

然后我添加了jQuery来更改电子邮件图标的颜色,如果他们输入的电子邮件是或不正确的话。它在我使用“alert”时有效,但在我想要实际更改颜色而不是显示alert时却无效。

$("#AdminEmail").keyup(function () {
    var $email = $(this).val();
    validateEmail($email);
});
function validateEmail($email) {
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    if (!emailReg.test($email)) {
        $(".glyphicon-envelope").CSS('color', 'red');
    } else {
        $(".glyphicon-envelope").CSS('color', 'blue');
    }
}

2 个答案:

答案 0 :(得分:2)

我相信你的问题是CSS需要小写。

$(".glyphicon-envelope").css('color', 'red');

如果你想变得非常聪明,可以将整个部分合并到

$(".glyphicon-envelope").css('color', emailReg.test($email) ? 'blue' : 'red');

答案 1 :(得分:1)

...简单

只需更改为.css(&#39; color&#39; ....)

没有上限