mouseover() - 使用addClass()

时间:2011-05-24 11:51:16

标签: jquery

当鼠标悬停在某个元素上时,如何添加一个类?

var row = $('<tr></tr>')
    .append('<td class="list_row">'+js2txt(string)+'</td>')
    .mouseover(function(){
        this.addClass('list_row_mover');
    });

js错误:

this.addClass is not a function

4 个答案:

答案 0 :(得分:4)

在你的函数中,范围(this)是HTML元素,而不是jQuery对象。

这是一个可能的解决方法:

var row = $('<tr></tr>')
  .append('<td class="list_row">'+js2txt(string)+'</td>')
  .mouseover(function(){
    $(this).addClass('list_row_mover');
  });

答案 1 :(得分:1)

this返回没有函数addClass的DOM对象。相反,用户$(this)指向jQuery对象, 具有函数addClass

var row = $('<tr></tr>')
.append('<td class="list_row">'+js2txt(string)+'</td>')
.mouseover(function(){
    $(this).addClass('list_row_mover');
});

答案 2 :(得分:0)

使用

$(this).addClass("list_row_mover");

答案 3 :(得分:0)

您需要使用$(this),这是jquery对象。