HERE你可以有更多的资源来增加你的知识。我相信一个例子会非常有用!有一些 SO 问题也会对您有所帮助,例如 THIS。 --学分Peter Boughton
这是在 IE、FF 和 Opera 中测试的:
var css = 'h1 { background: red; }',
head = document.getElementsByTagName('head')[0],
style = document.createElement('style');
style.type = 'text/css';
if(style.styleSheet){
style.styleSheet.cssText = css;
}else{
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
向元素添加类:
document.getElementById("MyElement").className += " MyClass";
从元素中移除一个类:
document.getElementById("MyElement").className =
document.getElementById("MyElement").className.replace
( /(?:^|\s)MyClass(?!\S)/ , '' )
/* code wrapped for readability - above is all one statement */
在 onclick 事件中执行此操作:
<script type="text/javascript">
function changeClass()
{
// code examples from above
}
</script>
...
<button onclick="changeClass()">My Button</button>
更好的是,使用允许您执行以下操作的框架(在此示例中为 jQuery):
$j('#MyElement').addClass('MyClass');
$j('#MyElement').removeClass('MyClass');
$j('#MyElement').toggleClass('MyClass');
还有:
<script type="text/javascript">
function changeClass()
{
// code examples from above
}
$j(':button:contains(My Button)').click(changeClass);
</script>
...
<button>My Button</button>
这将 HTML 标记与您的 JS 交互逻辑分开,这可以大大简化维护工作,尤其是在大型/复杂应用程序上。