我的网站上有我的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>
答案 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");