javascript - 如何通过 javascript 更改样式表
问题描述
我尝试获取元素并按内容更改样式:如果元素内容是English
那么 CSS 应该是ltr.css
else if
元素内容是Persian
CSS 应该是“rtl.css”这就是我所拥有的
addEventListener("DOMContentLoaded", () => {
var lang = document.getElementById('languageChooser').innerHTML;
if(lang == 'Persian'){
document.querySelector('#style1').setAttribute('href', 'rtl.css');;
} else if (lang == 'English') {
document.querySelector('#style1').setAttribute('href', 'ltr.css');;
}
})
<a href="" id="languageChooser">Persian</a>
<link id="style1" rel="stylesheet" type="text/css" href="ltr.css" />
这是整个应用程序
解决方案
使用 jquery 你绝对可以交换 css 文件。在按钮单击时执行此操作。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link id="style1" rel="stylesheet" type="text/css" href="ltr.css" />
</head>
<body>
<a href="#" id="languageChooser">Persian</a>
</body>
<script type="text/javascript">
$("#languageChooser").click(function() {
var lang = document.getElementById('languageChooser').innerHTML;
var selector = $('link[href*="ltr.css"]');
if (lang == 'Persian') {
selector.replaceWith('<link href="rtl.css" type="text/css" rel="stylesheet">');
}
});
</script>
</html>
推荐阅读
- python - setup.py 中的条件要求
- excel - 批量txt到excel使用vba问题分隔
- excel - 将数据从 Outlook 导入 Excel
- git - 如何恢复“git checkout --”以恢复本地更改
- ssrs-2012 - 使用 T-SQL 修改 SSRS 订阅
- swift - Scenekit - 渲染自定义 SCNGeometry 多边形时崩溃
- linux - 如何查找和连接具有不同字符但其根在文本文件中列出的文件?
- python - nltk:如何搜索一些单词之间的联系?
- android - Android facebook登录不会进入下一个活动
- c# - Bot Framework v4.2 - 从 OnTurnError 异常中顺利恢复