2011-11-02 58 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 */ 
}