Jquery 用一个按钮在样式表之间切换

Jquery 用一个按钮在样式表之间切换,jquery,css,button,stylesheet,Jquery,Css,Button,Stylesheet,我想用一个按钮在两个样式表之间切换。我目前拥有的代码是: <link id="style1" rel="stylesheet" type="text/css" href="style.css" /> <link id="style2" rel="stylesheet" type="text/css" href="styleinvert.css" disabled="disabled" /> <script> function toggle() {

我想用一个按钮在两个样式表之间切换。我目前拥有的代码是:

<link id="style1" rel="stylesheet" type="text/css" href="style.css" />
<link id="style2" rel="stylesheet" type="text/css" href="styleinvert.css" disabled="disabled" />

<script>
    function toggle() {
        var el1 = document.getElementById("style1"),
            el2 = document.getElementById("style2");
        if( el1.disabled == "disabled" ) {
            el1.disabled = undefined;
            el2.disabled = "disabled";
        } else {
            el1.disabled = "disabled";
            el2.disabled = undefined;
        }
    }
</script>

<a href="#" onclick="toggle()">Invert</a>

函数切换(){
var el1=document.getElementById(“样式1”),
el2=document.getElementById(“样式2”);
如果(el1.disabled==“disabled”){
el1.disabled=未定义;
el2.disabled=“disabled”;
}否则{
el1.disabled=“disabled”;
el2.disabled=未定义;
}
}
但是,这会导致样式表在停用第一个样式表和激活新样式表之间暂时消失

有更好的方法吗?理想情况下,我只需要为第二个样式表添加一小部分样式,因为我只需要更改一些内容,如字体颜色等。

使用true和false,而不是使用“禁用”和“未定义”:

function toggle() {
  var el1 = document.getElementById("style1"),
      el2 = document.getElementById("style2");

  if(el1.disabled) {
    el1.disabled = false;
    el2.disabled = true;
  } 
  else {
    el1.disabled = true;
    el2.disabled = false;
  }
}

这是一个基本的例子,我的意思是在主体中添加一个类并编写覆盖样式

function toggle(){
    $('body').toggleClass('style2');
}

// css

p{
    color:green;
}

.style2 p{
    color:red;
}

jquery切换类文档:

为什么不在body标记中添加一个类,并在需要的地方编写覆盖样式?我不知道如何@KaiQing做到这一点