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

How to switch style sheets dynamically using jquery?

本文关键字:样式 动态 何使用 jquery      更新时间:2023-09-26

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

      <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>

当我点击样式-1等等时,样式表应该更改。。。。。如何使用jquery完成此操作?有人能帮我吗?

请给我图书馆的使用习惯?

您只需更改样式表的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'));
});

请尝试以下操作,效果良好。请在此处查看演示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);
})​