2012-03-22 60 views
1

您好我有一个网页,我有四个不同的样式表这样如何使用jquery动态切换样式表?

 <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来做到这一点?谁能帮我?

请给我提供图书馆的用来?

+0

一个简单的谷歌搜索会sufice。 – machineaddict 2012-03-22 06:36:54

+0

我试了几个例子,但没有运气..样式表不chnaging - @ machineaddict – SoftwareNerd 2012-03-22 06:44:12

+0

你检查了任何JavaScript错误?你应该使用萤火虫 – machineaddict 2012-03-22 15:38:17

回答

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')); 
}); 
+0

其工作,但CSS不适用于页面... – SoftwareNerd 2012-03-22 07:04:18

+0

我必须做任何改变href .. – SoftwareNerd 2012-03-22 07:07:07

+0

只是做一个样式表,并改变href。你设置样式表的方式很奇怪。我会改变我的答案,向你展示更好的方式。 – 2012-03-22 14:55:57

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); 
})​