D.R.: Stylesheet ändern

Beitrag lesen

Hallo,

Ich würde gerne nach dem Klick auf einen Link, dass per JavaScript das Stylesheet geändert wird. Also von

<link rel="stylesheet" type="text/css" href="css/style.css" />

zu

<link rel="stylesheet" type="text/css" href="css/style2.css" />

Wie wäre das per javascript zu realisieren?

Am besten generierst du den Link erstmal komplett mit JS. Das hat den Vorteil, dass Anwender ohne JS nicht durch einen unnötigen Link verunsichert werden.

  
var Link = document.createElement("a");  
Link.onclick = function(){document.getElementsByTagName("link")[0].href = "css/style2.css";}  
Link.appendChild(document.createTextNode("Stylesheet ändern"));  
Link.href = "javascript:void(0)";  

Jetzt musst du dir noch überlegen, wie und wo du den Link einfügst. Am Ende des <body> ginge das z.B so:

document.body.appendChild(Link);

ansonsten eben am Ende eines anderen Elementes oder vor/nach einem Element:

Parent.insertBefore(Link,Element_danach)

[…] und ehrlich gesagt mag ichs auch nicht sehr :$

Kann ich eigentlich kaum verstehen. JS ist doch das schönste, was es gibt (sofern es nicht für Nervereien Missbraucht wird). Allerdings sollte man auch immer eine Alternative anbieten.

mfg. Daniel