如何在JavaScript中的DOM创建元素上设置css“:hover”?

时间:2009-04-03 16:20:49

标签: javascript html css dom

我正在使用DOM来管理我正在运行的AJAX函数的JSON响应。我正在编写的脚本需要完全可移植,因此我正在为动态创建元素定义样式(意思是,没有链接到外部CSS,也没有在HTML文档本身提供CSS,因为我不会控制文件。)

我想在某些元素上创建悬停效果。

示例:

 #myDiv:hover { background:#000000; }

有没有办法在DOM中定义它?或者我必须使用mouseover

2 个答案:

答案 0 :(得分:11)

您可以动态创建和操作样式表。 See here了解这种方法的一些跨浏览器问题。

我有一个包装函数lying around可以解决其中一些问题;使用它,代码将读取

document.createStyleSheet().addRule('#myDiv:hover', 'background:#000000;');

答案 1 :(得分:3)

您可以创建具有预定义类的元素:

.h:hover{color: #c00}

var elem = document.createElement('div');
elem.className = 'h'