如何使用jquery动态切换样式表?

时间:2012-03-22 06:32:07

标签: javascript html css jquery-ui

嗨我有一个页面,我有四个不同的样式表,如下

      <link rel="Stylesheet" href="fancydropdown.css"  title="style-1" type="text/css" />
      <link rel="Alternate" href="fancydropdown_1.css" title="style-2" type="text/css" />
      <link rel="Alternate" href="fancydropdown_2.css" title="style-3" type="text/css" />
      <link rel="Alternate" href="fancydropdown_3.css" title="style-4" type="text/css" />

这是我的HTML

    <div id="menu">
    <ul class="tabs">
<li><h4><a href="#">In the blog &raquo;</a></h4></li>
<li class="hasmore"><a href="#"><span>Styles</span></a>
    <ul class="dropdown">
        <li><a   href="#" rel="style-1">style-1</a></li>
        <li><a   href="#"  rel="style-2">style-2</a></li>
        <li><a   href="#" rel="style-3">style-3</a></li>
        <li><a   href="#" rel="style-4">style-4</a></li>            
        <li class="last"><a href="#">Menu item 6</a></li>
    </ul>
</li>
<li class="hasmore"><a href="#"><span>Topics</span></a>
    <ul class="dropdown">
        <li><a href="#">Topic 1</a></li>
        <li><a href="#">Topic 2</a></li>
        <li><a href="#">Topic 3</a></li>
        <li class="last"><a href="#">Topic 4</a></li>
    </ul>
</li>   
<li><h4><a href="#">Elsewhere &raquo;</a></h4></li>
<li><a href="#"><span>About</span></a></li>
<li class="hasmore"><a href="#"><span>Networks</span></a>
    <ul class="dropdown">
        <li><a href="#">Twitter</a></li>
        <li><a href="#">posterous</a></li>
        <li><a href="#">SpeakerSite</a></li>
        <li><a href="#">LinkedIn</a></li>
        <li class="last"><a href="#">See more&hellip;</a></li>
    </ul>
</li>
<li><a href="#"><span>Bookmarks</span></a></li>

这是我的下拉课程

     <ul class="dropdown">
        <li><a   href="#" rel="style-1">style-1</a></li>
        <li><a   href="#"  rel="style-2">style-2</a></li>
        <li><a   href="#" rel="style-3">style-3</a></li>
        <li><a   href="#" rel="style-4">style-4</a></li>            
        <li class="last"><a href="#">Menu item 6</a></li>
    </ul>

当我点击style-1等样式表时应该改变.....我怎么能用jquery做到这一点?任何人都可以帮助我吗?

请提供我用过的图书馆?

2 个答案:

答案 0 :(得分:0)

您只需更改样式表的HREF。

... HEAD
<link rel="Stylesheet" href="style1.css" >

... BODY
<ul class="dropdown">
    <li><a data-stylesheet="style1.css">style 1</a></li>
    <li><a data-stylesheet="style2.css">style 2</a></li>
    <li><a data-stylesheet="style3.css">style 3</a></li>
</ul>

... SCRIPT
$('.dropdown a').click(function(ev){
    ev.preventDefault();
    $('link').attr('href',$(this).data('stylesheet'));
});

答案 1 :(得分:0)

请尝试以下工作正常。请参阅此处的演示http://jsfiddle.net/fLzck/

<ul class="dropdown">
            <li><a   href="#" rel="style-1.css">style-1</a></li>
            <li><a   href="#"  rel="style-2.css">style-2</a></li>
            <li><a   href="#" rel="style-3.css">style-3</a></li>
            <li><a   href="#" rel="style-4.css">style-4</a></li>            
            <li class="last"><a href="#">Menu item 6</a></li>
        </ul>

$(".dropdown a").click(function() {
    var thisRel = $(this).attr('rel');
    //alert(thisRel);
    $("link[rel='stylesheet']").attr('href', thisRel);
})​