CSSクラスを変更するのは一般的な方法ではないことは知っています...とにかく>> JavaScriptでCSSパラメーターを変更する次の機能があります:
function changeCSSParameter(classId, param, value)
{
var CSSRules;
if (document.all)
{
CSSRules = 'rules';
}
else if (document.getElementById)
{
CSSRules = 'cssRules';
}
for (var i = 0; i < document.styleSheets[0][CSSRules].length; i++)
{
var classes = document.styleSheets[0][CSSRules][i].selectorText.split(/\s*,\s*/);
for (var j = 0; j < classes.length; j++)
{
if (classes[j] == classId)
{
document.styleSheets[0][CSSRules][i].style.setProperty(param, value, '');
}
}
}
}
ただし、スタイルクラスが次のようにグループで定義されている場合、この関数は希望どおりに機能しません。
.first, .second
{
color: red;
}
...変更は両方のクラスに適用されるためです。この問題を解決するにはどうすればよいですか? ご意見をお聞かせください。
jQuery は使用しないでください。昔ながらの JavaScript を使用してください。