如何使用Jquery更改辅助样式表?

时间:2011-01-21 17:58:05

标签: jquery css

我的网站上有我的base.css和red.css。

当我按下某个按钮时,我喜欢为blue.css更改red.css,而不会丢失base.css如何做到这一点?我试过这个:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
    if($.cookie("css")) {
     $("link").attr("href",$.cookie("css"));
  }
$(document).ready(function(){  
    $("#troca_faccao").click(function() {
        $(this).parent().find("#painel_faccao").slideDown('fast').show(); //Drop down the subnav on click  
        $(this).hover(function() {
        }, function(){  
            $(this).parent().find("#painel_faccao").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up  
            });
        })
    $("#painel_faccao li a").click(function() { 
        $("link").attr("href",$(this).attr('rel'));
        $.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'});
     return false;
  });
});
</script>

和div:

                        <div id="painel_faccao" style="display: none">
                        <p>A Escolha é Sua!</p>
                        <ul>
                            <li class="horda"><a href="#" rel="horde.css">HORDA</a></li> 
                            <li class="alianca"><a href="#" rel="aliance.css">ALIANÇA</a></li> 
                        </ul></div>

2 个答案:

答案 0 :(得分:3)

您可以使用:eq过滤器选择器或eq()方法定位所需的样式表:

$("link:eq(0)").attr("href",$(this).attr('rel'));

为要更改eq的样式表指定href的位置。当然,您希望更改指向href而不是red.css的链接样式表的base.css


或者,您可以将id应用于要更改href ofL

的链接样式表
<link id="someID"............/>

以后再做:

$("link#someID").attr("href",$(this).attr('rel'));

答案 1 :(得分:2)

http://www.cssnewbie.com/simple-jquery-stylesheet-switcher/

tl;博士:

HTML中的某个地方:

<link id="styles" rel="stylesheet" type="text/css" href="red.css" /> in HTML

jQuery中的某个地方:

$("#styles").attr("href","blue.css");