导致未定义的 addClass 不是函数

addClass causing undefined is not a function

我有:

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

这没有多大意义,因为 "this" 是预期的 DOM 元素我也在尝试添加 class。

出了什么问题?

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

this.addClass('grid-hover');

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

"this"的错误在于for each循环里面的条件。你能试试吗

        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');
                                }
                            })
                        },