2

我正在尝试使用 .addClass() 将类添加到 div

这是我尝试的方法:

<script>
$("#circle").hover(function() {
    ("#circle").addClass("new_style");
});
</script>

我有这个 div

<div id="circle" class="lol"></div>

在检查元素并查看控制台后,我可以看到错误

"Uncaught TypeError: Object #circle has no method 'addClass' "
4

1 回答 1

7

你错过了$之前("#circle")

$("#circle").hover(function() {
    $("#circle").addClass("new_style");
});

但是,您根本不需要为该元素重新查询 DOM!

$("#circle").hover(function() {
    $(this).addClass("new_style");
});

即便如此,您也不需要重新 jQuery-ify 那个对象。重用 jQuery 对象以减少性能损失:

var $circle = $("#circle");

$circle.hover(function() {
    $circle.addClass("new_style");
});

有趣的是,JSLintJSHint都没有发现这个草率的错误。

于 2012-09-03T02:56:48.307 回答