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化する必要はありません。パフォーマンスへの影響を少なくするために、jQueryオブジェクトを再利用します。

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

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

興味深いことに、JSLintJSHintもこのずさんなエラーをキャッチしませんでした。

于 2012-09-03T02:56:48.307 に答える