3 回答

TA貢獻1808條經驗 獲得超4個贊
這是 VanillaJS 中的,還要檢查鏈接標簽上的 href 是否正確解析為 CSS 文件。
const darkBtn = document.querySelector('#dark');
const lightBtn = document.querySelector('#light');
const linkTag = document.querySelector('#theme');
darkBtn.addEventListener('click', () => {
linkTag.setAttribute('href', '~/lib/bootstrap/dist/css/Dark.css')
});
lightBtn.addEventListener('click', () => {
linkTag.setAttribute('href', '~/lib/bootstrap/dist/css/Light.css')
});

TA貢獻1811條經驗 獲得超6個贊
您可能需要以下代碼:
$('#dark').click(function () {
$('#theme').attr('href', '~/lib/bootstrap/dist/css/Dark.css');
});
$('#light').click(function () {
$('#theme').attr('href', '~/lib/bootstrap/dist/css/Light.css');
});
您的代碼正在尋找 href 字面以 開頭的鏈接元素~/。在您的 razor 頁面中,href 以此字符串開頭。但 ASP.NET 將其替換為內容根的路徑,因此對于瀏覽器來說,href 不以此字符串開頭。

TA貢獻1827條經驗 獲得超8個贊
我下載了 Pieterjan 解決方案,在我添加后它開始工作event.preventDefault():
$(document).ready(function () {
$('#dark').click(function () {
event.preventDefault();
$('#dynamicCss').attr('href', '/css/site-dark.css');
});
$('#light').click(function () {
event.preventDefault();
$('#dynamicCss').attr('href', '/css/site-light.css');
});
});
但刷新頁面后網站又顯示淺色主題。
- 3 回答
- 0 關注
- 299 瀏覽
添加回答
舉報