2

HTML

   <input type="text" id="trainingFee" name ="training Fee" class="number error" value="" onblur="callMe()">

jQuery

    function callMe(){
       if($this.id).hasClass('error')){
        alert("has error class");       
 }

}

但这不起作用。我究竟做错了什么?

4

3 回答 3

3

您正在尝试使用this上下文访问元素的当前 id。您需要将其传递给函数才能执行此操作

onblur="callMe(这个)"

 function callMe(elem){
       if($(elem).hasClass('error')){
        alert("has error class");       
 }
}

否则你可以试试这个方法

小提琴

$(function() {
    $('#trainingFee').on('blur', function() {
        if ($(this).hasClass('error')) {
            alert("has error class");
        }
    });
});​

<input type="text" id="trainingFee" name ="training Fee" class="number error" value=""  /> 

​</p>

于 2012-10-01T06:56:15.893 回答
2

您应该onblur从 HTML 中删除该属性,然后使用 jQuery 完成所有操作。

$('#trainingFee').blur(function () {
    if ($(this).hasClass('error')) {
        alert('has error class');
    }
}​);​
于 2012-10-01T07:01:08.840 回答
0

你可以试试:

if ($(this).is('.error')) {
  ...
}
于 2012-10-01T06:56:37.560 回答