导致undefined的addClass不是一个函数

时间:2015-04-19 18:23:01

标签: javascript jquery jquery-selectors

我有:

mouseOver: function () {
   var catId = this.category_id;
   $('#expenditureSummaryGrid .k-grid-content tr').each(function() {
       if($('td span', this).data('id') == catId) {
           this.addClass('grid-hover');
       }
   })
},

但是它给了我:

Uncaught TypeError: undefined is not a function

自从这个"这个"是我尝试添加类的预期DOM元素。

出了什么问题?

2 个答案:

答案 0 :(得分:1)

由于.addClass()是一个jQuery函数,您可能需要更改

this.addClass('grid-hover');

$(this).addClass('grid-hover');

答案 1 :(得分:0)

“this”的错误与每个循环内部的条件有关。你可以试试吗

        mouseOver: function () {
                            var catId = this.category_id;
                            $('#expenditureSummaryGrid .k-grid-content tr').each(function(){
                                if(this.find('td span').data('id') == catId) {
                                    this.addClass('grid-hover');
                                }
                            })
                        },