2012-06-25 76 views
2

我有一个页面,我想根据是否启用javascript来改变样式。如何启用javascript才能链接外部样式表

代码:

<link rel="stylesheet" href="./css/main.css" type="text/css" /> 

<noscript> 
    <link rel="stylesheet" href="./css/noscript.css" type="text/css" /> 
</noscript> 

我的问题是noscript.css只是覆盖一些属性,不是全部。因此,因为main.css中有更多的样式,它也适用。只有被覆盖的样式看起来不错。如果我删除了main.css的链接,该页面看起来就像我想要的那样。

有什么办法可以将以前的所有风格“重置”为默认值,或者禁用noscript上的main.css链接吗?

谢谢!

回答

6

你可以这样做:

<script> 
    document.write('<link rel="stylesheet" href="./css/main.css" type="text/css" />'); 
</script> 
<noscript> 
    <link rel="stylesheet" href="./css/noscript.css" type="text/css" /> 
</noscript> 

我通常不会的document.write()一个巨大的风扇,但这是它是做最简单的事情的一个例子。你当然可以创建<link>标签并将其附加到<head>或其他任何如果太令人厌恶的东西。

+0

+1,一分钟太迟。 – gdoron

+0

当然!谢谢! – lindhe

0
var css = document.createElement('link'); 
css.rel = 'stylesheet'; 
css.type = 'etxt/css'; 
css.href = './css/main.css'; 
document.head.appendChild(css);