我试图使用.addClass()向div添加一个类
以下是我尝试这样做的方法:
<script>
$("#circle").hover(function() {
("#circle").addClass("new_style");
});
</script>
Run Code Online (Sandbox Code Playgroud)
我有这个div
<div id="circle" class="lol"></div>
Run Code Online (Sandbox Code Playgroud)
检查元素并查看控制台后,我可以看到错误
"Uncaught TypeError: Object #circle has no method 'addClass' "
Run Code Online (Sandbox Code Playgroud)
你$以前错过了一次("#circle"):
$("#circle").hover(function() {
$("#circle").addClass("new_style");
});
Run Code Online (Sandbox Code Playgroud)
但是,您根本不需要为该元素重新查询DOM!
$("#circle").hover(function() {
$(this).addClass("new_style");
});
Run Code Online (Sandbox Code Playgroud)
即使这样,你也不需要重新jQuery-ify那个对象.重用jQuery对象可以降低性能:
var $circle = $("#circle");
$circle.hover(function() {
$circle.addClass("new_style");
});
Run Code Online (Sandbox Code Playgroud)
有趣的是,无论是JSLint的也不JSHint抓住了这个草率的错误.