onmouseover for element li不起作用

时间:2010-03-28 10:32:02

标签: javascript html

我有以下简单的代码,但它没有工作

<ul>
  <li id="one" onmouseover="this.style.background-color='white';">
    <a href="#">home</a>
  </li>
</ul>
你可以告诉我原因吗? 感谢

编辑:

如何更改标签的颜色,onmouseover of li

4 个答案:

答案 0 :(得分:5)

在JS中更改样式对象的属性时,将连字符转换为camelCase。

backgroundColor

但是,你试图以错误的方式解决这个问题。

如果你真的想在悬停时设置列表项的样式,那么你可能应该在样式表中使用li:hover。唯一的缺点是这在IE 6中不起作用(虽然它只是对古老浏览器的一种美容效果,越来越多地落入“不支持”框中)。

那就是说,悬停效果会喊“你现在可以点击!”在用户 - 但只有列表项的链接部分将在单击时执行任何操作。这意味着您应该设置a元素的样式,而不是li ...,但要将其设置为填充列表项(并且在IE6中工作)。

Listamatic has many examples.

答案 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的。