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!