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>
添加回答
舉報