以下の関数に基づく簡単なJavaScriptソリューションは次のとおりです。
<a onmouseover="util.addClassName('main', 'tv-glow');"
onmouseout="util.removeClassName('main', 'tv-glow')"
href="...">test</a>
リスナーを動的にアタッチすることをお勧めします。また、クラスをスワップインおよびスワップアウトする「トグル」関数を使用することもできます。
ホバー効果はタッチスクリーンデバイスではかなり役に立たないことに注意してください。
すべての開発者がツールボックスに持つべきいくつかの機能:
var util = util || {};
util.hasClassName = function(el, cName) {
if (typeof el == 'string') el = document.getElementById(el);
var re = new RegExp('(^|\\s+)' + cName + '(\\s+|$)');
return el && re.test(el.className);
}
util.addClassName = function(el, cName) {
if (typeof el == 'string') el = document.getElementById(el);
if (!util.hasClassName(el, cName)) {
el.className = el.className + ' ' + cName;
}
}
util.removeClassName = function(el, cName) {
if (typeof el == 'string') el = document.getElementById(el);
if (util.hasClassName(el, cName)) {
var re = new RegExp('(^|\\s+)' + cName + '(\\s+|$)','g');
el.className = el.className.replace(re, '');
}
}