更改输入样式后如何获取jquery默认样式?

时间:2012-12-27 12:41:59

标签: jquery css input

我有一个文本输入,当事件“模糊”触发时我会验证它的值。 当值无效时,我更改输入背景颜色,当我解决错误时,我希望再次将输入的原始颜色和样式设置为它。 但正在发生的事情是我在解决错误或得到错误之后失去原始风格,一般情况下,在改变输入的风格时会发生这种情况。 我试图寻找原始样式再次设置它但我找不到jqueryui样式。 需要你的帮助:

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

4 个答案:

答案 0 :(得分:2)

请使用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");
        }
    });
 });

答案 1 :(得分:1)

为什么不将它存放在准备就绪的文件中:

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

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

答案 2 :(得分:1)

而不是

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

使用

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

答案 3 :(得分:1)

你注意到了拼写错误:

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

应该是这样的

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