Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mithilfe von JavaScript programmgesteuert auf Nicht-Inline-CSS-Werte zugreifen und diese ändern?

Wie kann ich mithilfe von JavaScript programmgesteuert auf Nicht-Inline-CSS-Werte zugreifen und diese ändern?

Barbara Streisand
Freigeben: 2024-12-22 22:59:18
Original
746 Leute haben es durchsucht

How Can I Programmatically Access and Change Non-Inline CSS Values Using JavaScript?

CSS-Werte mit Javascript ändern

Zugriff auf nicht-inline-CSS-Werte

In JavaScript Inline-CSS-Werte können einfach mit document.getElementById('id').style.width = value geändert werden. Diese Methode ist jedoch problematisch, wenn es um Nicht-Inline-CSS-Werte geht, die in Stylesheets definiert sind. Das Abrufen solcher Werte mit JavaScript gibt Null zurück, was die Ausführung bestimmter logischer Operationen erschwert.

Programmgesteuertes Ändern von Stileigenschaften

Um dieses Problem zu beheben, können CSS-Stylesheets aufgerufen werden und programmatisch geändert. So geht's:

  1. Rufen Sie das Stylesheet-Array mit document.styleSheets ab.
  2. Suchen Sie das spezifische Stylesheet, indem Sie seine document.styleSheets[styleIndex].href-Eigenschaft mit dem erwarteten Pfad vergleichen.
  3. Rufen Sie das Array von CSS-Regeln mit document.styleSheets[styleIndex].rules im IE oder ab document.styleSheets[styleIndex].cssRules in anderen Browsern.
  4. Identifizieren Sie die gewünschte Regel, indem Sie ihre selectorText-Eigenschaft mit dem bekannten Selektor (z. B. #tId) vergleichen.

Einmal die Regel identifiziert wird, kann seine Value-Eigenschaft gelesen und gesetzt werden. Dies ermöglicht das Abrufen und Ändern von CSS-Werten, ohne die Inline-Stile zu ändern. Der folgende Code demonstriert diesen Vorgang:

var styleIndex = 0; // Index of the stylesheet to modify
var ruleIndex = 1; // Index of the rule to modify
var cssRuleCode = document.all ? 'rules' : 'cssRules'; // Account for IE and FF
var rule = document.styleSheets[styleIndex][cssRuleCode][ruleIndex];
var selector = rule.selectorText; // e.g., '#tId'
var value = rule.value; // Get the current value or set a new value using `rule.value = 'new_value'`
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von JavaScript programmgesteuert auf Nicht-Inline-CSS-Werte zugreifen und diese ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage