我有以下简单的代码,但它没有工作
<ul>
<li id="one" onmouseover="this.style.background-color='white';">
<a href="#">home</a>
</li>
</ul>
你可以告诉我原因吗?
感谢
如何更改标签的颜色,onmouseover of li
答案 0 :(得分:5)
在JS中更改样式对象的属性时,将连字符转换为camelCase。
backgroundColor
但是,你试图以错误的方式解决这个问题。
如果你真的想在悬停时设置列表项的样式,那么你可能应该在样式表中使用li:hover
。唯一的缺点是这在IE 6中不起作用(虽然它只是对古老浏览器的一种美容效果,越来越多地落入“不支持”框中)。
那就是说,悬停效果会喊“你现在可以点击!”在用户 - 但只有列表项的链接部分将在单击时执行任何操作。这意味着您应该设置a
元素的样式,而不是li
...,但要将其设置为填充列表项(并且将在IE6中工作)。
答案 1 :(得分:2)
它将是onmouseover="this.style.backgroundColor='white';"
答案 2 :(得分:2)
为什么不为这个使用纯CSS?
li:hover {
background-color: #ffffff;
}
否则请使用gX和David Dorward的建议。
答案 3 :(得分:0)
您还可以使用whatever:hover或js框架(如jQuery)。无论如何:悬停只有3kb左右,所以我觉得值得加载它:)
作为旁注,我认为你应该看看this list,看看CSS样式是如何转换为JS的。