2011-11-02 112 views
0

我在Javascript中动态地书写CSS。我试图指定(在Javscript中),当鼠标悬停在段落元素上时,其文本颜色会发生变化。Javascript:通过.style悬停设置元素颜色

有没有办法做到这一点,而不必诉诸的onMouseOver方式,像...

myEle.style.colorHover = "#FFFFFF"; 

// Maybe this works? 
var ele = document.createElement("p"); 
ele.style.colorHover = "#FFFFFF"; 
ele.style.backgroundColorHover = "#000000"; 
ele.style.color = "#000000"; 
ele.style.backgroundColor = "#FFFFFF"; 
+4

见http://stackoverflow.com/questions/311052/setting-css-pseudo-class-rules-from-javascript或http: //stackoverflow.com/questions/714655/how-can-i-set-a-css-hover-on-a-dom-created-element-in-javascript - 这正是你在找什么。 – ThiefMaster

+1

由于缺乏对IE中* hover *伪类的支持,悬停效果通常是使用侦听器在父元素上(例如,在表格行的tbody或表元素上)使用侦听器来实现的。 – RobG

+0

如果你在页面上做了1个以上的元素,我建议使用jQuery,hover()处理程序http://api.jquery.com/hover/使它更好地管理IMO。 – sweetroll

回答

0

只是包装在一个额外的标签和使用您的文字:悬停改变你的文字的颜色。

当然你可能想创建一个类并通过JavaScript添加它。

的JavaScript:

ele.setAttribute("class", "myClass"); 

CSS:

P A.myClass 
{ 
/* colors when not hovering */ 
} 
P A.myClass:hover 
{ 
/* colors when hovering */ 
} 
相关问题