当您将鼠标悬停在列表项时,此演示不会添加类。
我在这里做错了什么?
$("li").hover(
function () {
$(this).addClass('hover);
},
function () {
$(this).removeClass("hover");
}
);
HTML 的
<ul>
<li>Milk</li>
<li>Bread</li>
<li>Chips</li>
<li>Socks</li>
</ul>
CSS
.hover{
color:green;
font-size: 20px;
}
提前致谢。
答案 0 :(得分:22)
您的JavaScript形成错误:
$("li").hover(
function () {
$(this).addClass('hover);
},
function () {
$(this).removeClass("hover");
}
);
应该是:
$("li").hover(
function () {
$(this).addClass('hover');
},
function () {
$(this).removeClass('hover');
}
);
如果您单击屏幕顶部的JS Lint
按钮,它会告诉您(这不是批评,只是注释以供将来使用JS Fiddle)。
答案 1 :(得分:5)
您的javascript语法不正确
$(this).addClass('hover);
应该是:
$(this).addClass('hover');
你忘了终止字符串。
这种改变很好。
答案 2 :(得分:2)
虽然其他人注意到缺少的引号,但我注意到你应该用CSS而不是javascript做这个:
li:hover{
color:green;
font-size: 20px;
}
IE6在<li>
上不支持此功能,但如果需要支持,您可以使用<a>
和样式包装内容。
如果您确实使用了javascript,则可以像这样减少代码:
$("li").hover( function (e) {
$(this).toggleClass('hover', e.type === 'mouseenter');
});
答案 3 :(得分:1)
你错过了引用'
$("li").hover(
function () {
$(this).addClass('hover');
},
function () {
$(this).removeClass("hover");
}
);