2016-12-23 1 views
0

Ich versuche, das CSS-Stylesheet zu ändern, indem ich auf eine Schaltfläche klicke.So ändern Sie das Attribut src eines Stylesheets

<head>  
<link id='link01' rel="stylesheet" href="blue.css"> 
</head> 

JS

$('.pointcolors').click(function(){ 
    var theme = $(this).attr('data-theme') + '.css'; 
    console.log(theme); // green.css - it's ok 
    $('#link01').attr('src', theme); 
}); 

Aber es gibt keine Stiländerungen. Nichts passiert.
Irgendwelche Hilfe?

+0

Möglicherweise ändern Sie die URL, aber das bedeutet nicht unbedingt, dass die neue URL geladen wird. –

+1

Mögliches Duplikat von [Kann ich externe Stylesheets auf Anfrage laden?] (Http://stackoverflow.com/questions/2126238/can-i-load-external-styleshee-on-request) –

Antwort

3

ändern

$('#link01').attr('src', theme); 

An:

$('#link01').attr('href', theme); 

Wenn Sie an Ihrem Link-Tag aussehen, das Attribut, das den Dateinamen enthält, ist "href", nicht "src".

0

Sie es wie folgt tun:

Verwenden jQuery .attr() die diezu ändernEigentum von link Tag.

$(function() { 
 
\t $("#block a").on('click', function() { 
 
     theme = $(this).data('theme'); 
 
\t \t $("#link01").attr("href", theme + '.css'); 
 
     console.log("Stylesheet changed to: " + $("#link01").attr("href")); 
 
\t \t return false; 
 
\t }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link id='link01' rel="stylesheet" href="blue.css"> 
 
<div id="block"> 
 
    <a href="#" data-theme="green">Change Stylesheet Link</a> 
 
</div>

hoffe, das hilft!

-1

Ändern src zu href sollte funktionieren.

$('#link01').attr('href', theme); 
Verwandte Themen