2011-01-21 29 views
5

Tôi có base.css và red.css trên trang web của mình.Làm cách nào để thay đổi biểu định kiểu phụ bằng Jquery?

Tôi thích thay đổi red.css cho blue.css khi tôi nhấn một số nút, mà không bị mất base.css cách thực hiện việc này? tôi đã cố gắng này:

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

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

Trả lời

3

Bạn có thể sử dụng :eq lọc selector hoặc eq() phương pháp nhắm mục tiêu stylesheet bạn muốn:

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

Chỉ định vị trí cho eq cho biểu định kiểu mà bạn muốn thay đổi href. Tắt tất nhiên bạn muốn thay đổi href liên kết stylesheet trỏ đến red.css và không base.css


Ngoài ra, bạn có thể áp dụng một id để liên kết stylesheet bạn muốn thay đổi href ofL

<link id="someID"............/> 

Và sau đó làm:

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

WoW .. Thats tuyệt vời !! .. Tôi sử dụng của bạn Ngoài ra trả lời và CHƠI LÔ TÔ! hoạt động hoàn hảo! .. ty dude !!! – Preston

Các vấn đề liên quan