我假设您想要插入一个style
标签而不是一个link
标签(引用外部 CSS),所以这就是以下示例的作用:
<html>
<head>
<title>Example Page</title>
</head>
<body>
<span>
This is styled dynamically via JavaScript.
</span>
</body>
<script type="text/javascript">
var styleNode = document.createElement('style');
styleNode.type = "text/css";
// browser detection (based on prototype.js)
if(!!(window.attachEvent && !window.opera)) {
styleNode.styleSheet.cssText = 'span { color: rgb(255, 0, 0); }';
} else {
var styleText = document.createTextNode('span { color: rgb(255, 0, 0); } ');
styleNode.appendChild(styleText);
}
document.getElementsByTagName('head')[0].appendChild(styleNode);
</script>
</html>
另外,我在您的问题中注意到您正在使用innerHTML
. 这实际上是一种将数据插入页面的非标准方式。最佳做法是创建一个文本节点并将其附加到另一个元素节点。
关于你的最后一个问题,你会听到一些人说你的工作应该在所有浏览器上工作。这一切都取决于你的观众。如果您的听众中没有人使用 Chrome,请不要担心;但是,如果您希望吸引尽可能多的受众,那么最好支持所有主要的 A 级浏览器