HTML “链接”(样式表)禁用属性
HTML "link" (stylesheet) disabled attribute
我正在使用JavaScript使用以下方法来启用/禁用样式表:
document.styleSheets[0].disabled = true|false;
这个JS工作正常,但是我希望默认情况下样式表是DISabled。 虽然我可以使用上面的JS在页面加载时立即禁用样式表,但这显然不适用于关闭JavaScript的用户。
我试过这样做:
<link rel="stylesheet" href="style.css" disabled />
虽然这会禁用样式表,但 JavaScript(或至少我正在使用的方法(无法再次启用它。 我也在"disabled"属性上尝试了所有这些变体:disabled="disabled"
、disabled="true"
和 disabled=true
,但这些会产生相同的问题 - 我无法使用 JavaScript 再次启用它们。
简而言之,我需要一种方法来启用/禁用使用 JavaScript 的外部样式表,但默认情况下禁用该样式表但不依赖于 JavaScript。
任何帮助将不胜感激。 谢谢。
注:注:这种效果可以通过使用两个样式表来实现,第二个覆盖第一个样式表,因此不需要"disabled"属性。 但是,如果可能的话,显然最好只使用一个样式表,因此我上面的问题。
你可以使用 JavaScript 的 removeAttribute 方法来实现这一点。
<html>
<head>
<link id="first_style" rel="stylesheet" href="#" disabled />
<script type="text/javascript">
window.onload = function()
{
document.getElementById('first_style').removeAttribute('disabled');
}
</script>
</head>
<body>
<p>something</p>
</body>
</html>
为什么不扭转问题:只有在启用 JavaScript 时才加载 CSS?
从此示例中获取,您可以使用以下内容:
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
我认为在这种情况下,你可能不得不依赖JavaScript。
如果您更多地考虑在需要时提供样式表而不是默认禁用,您应该确定它。
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 通过jQuery添加ng样式属性,angular不更新
- CSS样式属性留空
- d3.js圆的半径是否可以由样式属性指定
- 如何在不使用Page.Theme属性的情况下设置页面样式和主题
- 如何通过JQuery修改样式属性
- 获得'无法读取null的属性样式'
- 无法读取Null的属性样式
- 未捕获的类型错误:无法读取 null(索引):110 的属性“样式”
- 我一直收到未捕获的引用错误:未定义下拉菜单和未捕获的类型错误:无法读取 null 的属性“样式”
- 无法读取未定义的属性“样式”
- 重新打开程序函数返回类型错误“无法读取 null 的属性'样式'”
- MGWT ScrollPanel.scrollTo(0, y) 导致无法读取未定义的属性“样式”
- 如何使用 jQuery 删除多个标签的属性样式
- 为什么在 JavaScript 中无法读取 null 的属性“样式”
- 为什么我得到'无法读取属性样式为null ';错误
- 在Kineticjs中添加图像的属性样式
- 未捕获的类型错误:不能设置属性样式的#<它只有一个getter
- 无法读取属性样式,不同页面上出现错误
- 无法读取null的属性样式