HTML"链接"(样式表)已禁用属性

Vet*_*elS 10 html javascript stylesheet

我正在使用JavaScript来启用/禁用样式表,使用以下内容:

document.styleSheets[0].disabled = true|false;
Run Code Online (Sandbox Code Playgroud)

这个JS工作正常,但我希望默认情况下样式表是DISabled.虽然我可以使用上面的JS在页面加载时立即禁用样式表,但这显然不适用于关闭JavaScript的用户.

我试过这样做:

<link rel="stylesheet" href="style.css" disabled />
Run Code Online (Sandbox Code Playgroud)

虽然这会禁用样式表,但JavaScript(或者至少我正在使用的方法)无法再次使用它.我也尝试了所有这些变化对"已禁用"属性:disabled="disabled",disabled="true"disabled=true,但这些产生相同的problem-我不能用JavaScript重新启用它们.

简而言之,我需要一种使用JavaScript启用/禁用外部样式表的方法,但默认情况下禁用该样式表但不依赖于JavaScript.

任何帮助将不胜感激.谢谢.

注意这种效果可以通过使用两个样式表来实现,第二个覆盖第一个样式表,因此不需要"禁用"属性.但是,如果可能的话,显然最好只使用一个样式表,因此我的问题就在上面.

Sco*_* C. 12

您可以使用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>
Run Code Online (Sandbox Code Playgroud)


Ale*_*eon 5

为什么不扭转这个问题:仅在启用 JavaScript 的情况下加载 CSS?

从此示例中,您可以使用类似以下内容的内容:

var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
Run Code Online (Sandbox Code Playgroud)