更改输入样式后,如何获得jQuery默认样式



我有一个文本输入,当事件" blur"触发时,我会验证其值。当该值无效时,我会更改输入背景颜色,当我解决错误时,我希望将输入的原始颜色和样式再次设置为其。但是,在解决错误或遇到错误之后,我正在失去原始样式的情况,通常在更改输入样式时会发生这种错误。我试图寻找原始样式可以再次设置它,但在JQueryui Styles中找不到它。需要您的帮助:

html代码:

<input type='text' name='val1' id='val1'/> 

jQuery代码:

function is_numeric(value)
{
    var pattern= new RegExp(/^[0-9]+$/);
    return pattern.test(value);
}
$(document).ready(function ()
{
 $('#val1').blur(function()
    {
        if(!is_numeric($('#val1').val()))
        {
            $('#val1').css('background-color','#E65050');
        }
        else
        {
            $('#va1').css('background-color','white '); /// here ??
        }
    });
 });

请使用class请参阅 demo

CSS

.error {background-color:#E65050}

jQuery

function is_numeric(value)
{
    var pattern= new RegExp(/^[0-9]+$/);
    return pattern.test(value);
}
$(document).ready(function ()
{
 $('#val1').blur(function()
    {
        if(!is_numeric($('#val1').val()))
        {
            $('#val1').addClass('error');
        }
        else
        {
            $('#va1').removeClass("error");
        }
    });
 });

而不是

  $('#va1').css('background-color','white '); /// here ??

使用

  $('#va1').css('background-color',''); 

为什么不只是将其存储在文档中:

$(document).ready(function ()
{
   var defColor = $('#val1').css('background-color');
   $('#val1').blur(function()
   {
    ...
    $('#val1').css('background-color', defColor);

您是否注意到了拼写错误:

$('#va1').css('background-color','white ');

应该像这样

$('#val1').css('background-color','white ');

最新更新