gpt4 book ai didi

javascript - 在 chrome 中使用 javascript 启用禁用样式表

转载 作者:行者123 更新时间:2023-11-29 16:18:39 25 4
gpt4 key购买 nike

问题的改写:为文档提供备用样式表的最佳方式是什么?

我有一个样式表列表,所有样式表都在 html 文件中引用。我使用 javascript 来禁用除一个文件之外的所有文件。

例子:

style1   disabled = false
style2 disabled = true

在实践中,最后加载的样式表 (style2) 是事件样式表,无论禁用属性如何。

如何在 chrome 文档的样式表之间切换?

我试图设置href 属性的值,但它似乎是只读的。

我一直在使用的代码示例:(我正在使用一个名为 MenuStyles 的对象,它存储各种 css 信息)

function setActiveStyleSheet(name) {

var selectedSheet;
var currentSheet;
for (var i = 0; i < MenuStyles.styleSheets.length; i++) {
currentSheet = MenuStyles.styleSheets[i];
if (currentSheet.name === name) {
selectedSheet = currentSheet.sheetObj;
currentSheet.disabled = false;
} else {
currentSheet.disabled = true;
}
}
return selectedSheet;
}

编辑:事实证明问题完全是由于代码中的错误造成的。禁用属性工作正常。下面是固定函数:

function setActiveStyleSheet(name) {
var selectedSheet;
var currentSheet;
for (var i = 0; i < MenuStyles.styleSheets.length; i++) {
currentSheet = MenuStyles.styleSheets[i];
if (currentSheet.name === name) {
selectedSheet = currentSheet.sheetObj;
currentSheet.sheetObj.disabled = false;
} else {
currentSheet.sheetObj.disabled = true;
}
}
return selectedSheet;
}

最佳答案

通常,您会从 BODY 标记中提取子类,并使用一个包含这些类的样式表。然后只需交换 BODY 类,而不是 sylesheet。否则,您应该在服务器端执行此操作。

<body class="sheet1">

然后

sheet1.h1 {
...
}
sheet2.h1 {
...
}

关于javascript - 在 chrome 中使用 javascript 启用禁用样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12825248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com