- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请注意,我是一个初学者,所以在考虑太多我为什么以这种特殊方式做我正在做的事情之前,我只是想澄清一下,我只是在练习和试图掌握我能做什么和不能做什么,编写函数和使用方法。当然,我愿意接受这样的建议,我只是不想让任何人过于相信我正在以可能不是最好的方式做某事这一事实。关于这个问题。
总而言之,我正在尝试编写一些 JS 来交换 CSS 文件以更改网站上的主题。
这是 HTML:
<div onclick="swapStyleSheet('css/styles-black.css')" class="onoffswitch">
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked>
<label class="onoffswitch-label" for="myonoffswitch"></label>
</div>
下面的代码似乎可以工作:
function swapStyleSheet(sheet){
if (document.getElementById('pagestyle').getAttribute('href') == "css/styles-white.css") {
document.getElementById('pagestyle').setAttribute('href', "css/styles-black.css");
}
}
我会注意到,无论我直接设置“css/styles-black.css”还是通过函数调用传递参数(如 HTML 中所示),这都有效。
为了从 styles-black.css 切换回 styles-white.css,我添加了一个 else 语句:
function swapStyleSheet(sheet){
if (document.getElementById('pagestyle').getAttribute('href') == "css/styles-white.css") {
document.getElementById('pagestyle').setAttribute('href', "css/styles-black.css");
} else {
document.getElementById('pagestyle').setAttribute('href', "css/styles-white.css");
}
}
这行不通,我正在尝试找出原因。默认情况下,它设置为使用 styles-white.css 样式。我错过了什么?我觉得这是 [初学者] 容易忽视的小事情之一。
提前致谢。
最佳答案
我能够使用 jQuery 完成这项工作:
$(".onoffswitch").click(function(){
if($('.onoffswitch-checkbox').is(':checked') == false) {
$("#pagestyle").attr("href", "css/styles-black.css");
} else if ($('.onoffswitch-checkbox').is(':checked') == true) {
$("#pagestyle").attr("href", "css/styles-white.css");
}
})
我还能够以不同的方式使 href 不那么具体,因为我意识到并不是每个页面都以 css/styles-white.css 合适的方式定位:
$(".onoffswitch").click(function(){
if($('.onoffswitch-checkbox').is(':checked') == false) {
$("#pagestyle").attr('href', function(i, blackCSS) {
return blackCSS.replace('white', 'black');
});
}
});
我仍然想弄清楚如何让它与 vanilla JS 一起工作。我确定这是我做错的事情。不过,我很高兴能够找到某种解决方案,
关于Javascript 如果/否则 & setAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38514577/
request.setAttribute 和 request.getSession().setAttribute() 有什么区别? 它们存储在哪里以及以什么格式? 最佳答案 区别: 当您使用reque
session.setAttribute 和 request.setAttribute 有什么区别? 最佳答案 范围,session属性住所有的session而request属性只在一个请求中 关于j
我一直热衷于重置我的一个 jsp 页面上的一些验证错误。这是一个我无法再联系到的人(死亡或无法联系)继承的项目。我有一个 jsp 页面,其中包含许多自定义标记库,其中更多页面被添加为选项卡,父页面具有
当您从请求和 getServletContext() 调用它们时,get/setAttribute() 之间有什么区别。我注意到你需要 RequestDispatcher rd = request.g
所以我正在学习操作 DOM,并且我注意到一件有趣的事情: 假设我想使用“.”设置元素的 name 属性。点符号: element.name = "someName"; console.log(docu
HttpServletRequest类的setAttribute()方法和HttpSession类的setAttribute()方法有什么区别? 在什么情况下使用? 最佳答案 一个在请求范围内设置一个
为什么我们要使用setAttribute()方法来设置ServletContext参数,因为我们可以通过在web.xml中设置参数并使用getInitParameter()来获取它们来完成相同的工作?
我在 setAttribute() 方面遇到问题。我已经搜索过互联网和这个网站,但他们没有解决我的问题。我想用 javascript 更改图片的宽度和高度,但它不起作用。请帮助我。
在学校,我的老师将我的代码更改为下面的示例它不起作用,我无法理解它是如何工作并修复它的。 function _$(e, attrs) { var el = document.createEle
我有三个元素,我正在尝试为每个元素设置属性: const foldable = document.getElementsByClassName('foldable') let result = Arr
我正在尝试使用 object3D.lookAt 属性更改图像的视角。目前我正在尝试使用组件的 update() 方法更改图像的方向。这是通过更新我的组件的 Lookat 属性来实现的。 functio
我有一些有效的 SVG 代码,可以通过在形状上设置属性来处理鼠标事件: function plot() { ... shape.setAttributeNS(null, "onmouseove
我使用的表单会根据您单击单选按钮的选项来显示一些 div。 问题是 div 设置为不显示,除非我选择一个选项。 所以我添加了以下函数,以确保如果显示 div,它将具有具有所需属性的形式。 所以我给出这
此代码嵌套在 ascx 控件中。 onclientclick 事件有效并且没有错误,但标签文本没有更改?我错过了什么?
同样,我在使用 setAttribute 时遵循我的引用书和在线引用:它根本不起作用; HTML:
这是一些 HTML: lorem Lorem, ipsum dolor sit amet consectetur adipisicing elit. Eaque magnam expedit
我一直在以不同的方式创建元素,但不确定最佳方法。有什么区别: var myselect = document.createElement("select"); myselect.name="blah"
这里我稍微修改了代码 https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_getelementsbyname_loop 来自
我在为另一个元素设置属性时遇到问题。 我正在使用带有 JS 和 HTML 的 PHP 代码,它看起来像: $value 你一定知道我有两个元素。我用于编写文本的第一个('content')和另一个('
我是 Javascript 的新手,我不知道如何在选定的选项上使用 setAttribute。 我的 html 中有一个 id = employee 的 select 元素(使用 javascript
我是一名优秀的程序员,十分优秀!