2013-07-24 17 views
1

我需要使用jquery函数来添加一个我创建的CSS类到窗体上的文本框。此类将文本框的边框更改为红色,以指示文本框中存在错误,并且用户在错误得到修复之前不能提交。这里是我当前的代码:使用jQuery添加一个类到文本框

function validateRequired() { 
    var obj = $('.validate'); 
    var message = ""; 
    if (obj == null) { 
     return message; 
    } 
    obj.each(function (index, elem) { 
     if (elem.value == "") { 
      message += splitCamelCase(elem.id); 
      elem.attr("class", "error"); 
     } 
    }); 

    return message; 
} 

无论出于何种原因,虽然我用这个在其他方面的代码检查并设置属性,我不断收到一个错误说:

酒店或方法(elem.attr(“class”,“error”);)不受支持。

如何使用jquery将文本框的边框设置为红色?

+3

使用.addClass insted of .attr。 elem.addClass('error') – lashab

+0

我也试过,它仍然炸毁。不过,我会再试一次,因为我本来可以有一个错字。编辑:我实际上尝试与.addClass再次运行它,并提供与.attr相同的错误。感谢您的意见,但! – Kendra

+1

'elem'是原始的HTMLElement。你需要把它包装在'$(elem)'中,或者'elem.className ='error''。 – kalley

回答

3

elem是原始的HTML元素。您需要将它包装在$(elem)中,或者做elem.className = 'error'

0

你可以尝试做的,而不是属性:

//... 
    message += splitCamelCase(elem.id); 
    $('this').addClass("error"); 

    //... 
相关问题