4 回答
TA贡献1786条经验 获得超11个赞
您可以创建一个新链接,并用新链接替换旧链接。如果将它放在一个函数中,您可以在需要的地方重用它。
Javascript:
function changeCSS(cssFile, cssLinkIndex) {
var oldlink = document.getElementsByTagName("link").item(cssLinkIndex);
var newlink = document.createElement("link");
newlink.setAttribute("rel", "stylesheet");
newlink.setAttribute("type", "text/css");
newlink.setAttribute("href", cssFile);
document.getElementsByTagName("head").item(0).replaceChild(newlink, oldlink);
}
HTML:
<html>
<head>
<title>Changing CSS</title>
<link rel="stylesheet" type="text/css" href="positive.css"/>
</head>
<body>
<a href="#" onclick="changeCSS('positive.css', 0);">STYLE 1</a>
<a href="#" onclick="changeCSS('negative.css', 0);">STYLE 2</a>
</body>
</html>
为简单起见,我使用了内联javascript。在制作中,您可能希望使用不显眼的事件侦听器。
TA贡献1831条经验 获得超4个赞
如果在link元素上设置ID
<link rel="stylesheet" id="stylesheet" href="stylesheet1.css"/>
你可以用Javascript来定位它
document.getElementsByTagName('head')[0].getElementById('stylesheet').href='stylesheet2.css';
要不就..
document.getElementById('stylesheet').href='stylesheet2.css';
这是一个更彻底的例子:
<head>
<script>
function setStyleSheet(url){
var stylesheet = document.getElementById("stylesheet");
stylesheet.setAttribute('href', url);
}
</script>
<link id="stylesheet" rel="stylesheet" type="text/css" href="stylesheet1.css"/>
</head>
<body>
<a onclick="setStyleSheet('stylesheet1.css')" href="#">Style 1</a>
<a onclick="setStyleSheet('stylesheet2.css')" href="#">Style 2</a>
</body>
添加回答
举报