2009-04-03 19 views
5

私は実行しているAJAX関数からJSON応答を管理するためにDOMを使用しています。私が書いているスクリプトは完全に移植可能でなければならないので、作成した要素のスタイルをオンザフライで定義しています(つまり、外部CSSへのリンクなし、HTML文書自体にCSSを提供しません。その文書を管理する)。JavaScriptでDOM作成の要素にCSS: "hover"を設定するにはどうすればよいですか?

いくつかの要素にホバー効果を作成したいと思います。

例:

 #myDiv:hover { background:#000000; }

DOMでそれを定義する方法はありますか?またはmouseoverを使用する必要がありますか?

答えて

11

あなたは動的にスタイルシートを作成して操作することができます。このアプローチのクロスブラウザの問題のいくつかについては、See here

私はそのうちのいくつかを回避しますラッパー関数lying aroundを持っています。それを使用して、コードを使用すると、定義済みのクラスを持つ要素を作成することが

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

インラインCSSが十分ではありません。私は良い答えを意味するので、私はdownvotingではないが、別の方法で可能でなければならない。 –

+0

2017アップデート:createStyleSheetは()だけIEだったが、IE11からhttps://technet.microsoft.com/en-us/ms531194(v=vs.71を非推奨) – BigJ

3

を読んでいました:

私にとって
.h:hover{color: #c00} 

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

良い、とはい...しかし、私はしませんでしたスタイルシートにリンクする能力がある – johnnietheblack

関連する問題