Heim >Web-Frontend >CSS-Tutorial >Wie entferne oder ersetze ich ein Stylesheet ordnungsgemäß durch JavaScript?

Wie entferne oder ersetze ich ein Stylesheet ordnungsgemäß durch JavaScript?

Barbara Streisand
Barbara StreisandOriginal
2024-12-13 15:02:10950Durchsuche

How to Properly Remove or Replace a Stylesheet with JavaScript?

Entfernen oder Ersetzen eines Stylesheets () mit JavaScript/jQuery

Beim Versuch, ein Stylesheet von einer Webseite zu entfernen Dynamisch haben Sie versucht, den folgenden jQuery-Code zu verwenden:

$('link[title="mystyle"]').remove();

Während dieser Code das Linkelement aus dem entfernt DOM bleiben die im Stylesheet definierten Stile auf die Seite angewendet. Dieses Verhalten tritt sowohl in Opera als auch in Firefox auf.

Um ein Stylesheet mithilfe von JavaScript erfolgreich zu entfernen oder zu ersetzen, müssen Sie die Caching-Mechanismen des Browsers für CSS-Dateien verstehen. Browser speichern CSS-Stile im Speicher, was bedeutet, dass die Stile auch nach dem Entfernen des Stylesheet-Elements aus dem DOM weiterhin angewendet werden können.

Um dieses Problem zu beheben:

Für Cross- Browserkompatibilität, deaktivieren Sie das Stylesheet, anstatt es zu entfernen:

document.styleSheets[0].disabled = true;

Verwenden jQuery:

$('link[title=mystyle]')[0].disabled=true;

Durch die Deaktivierung des Stylesheets wird es als inaktiv markiert und der Browser wendet die in diesem Stylesheet definierten Stile nicht mehr an. Dieser Ansatz funktioniert konsistent in allen gängigen Browsern, einschließlich Internet Explorer.

Das obige ist der detaillierte Inhalt vonWie entferne oder ersetze ich ein Stylesheet ordnungsgemäß durch JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn