Heim  >  Artikel  >  Web-Frontend  >  So rufen Sie die Display-Eigenschaft eines DOM-Elements genau ab und warum die .style-Eigenschaft möglicherweise leere Zeichenfolgen zurückgibt

So rufen Sie die Display-Eigenschaft eines DOM-Elements genau ab und warum die .style-Eigenschaft möglicherweise leere Zeichenfolgen zurückgibt

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-20 07:13:29232Durchsuche

How to Accurately Retrieve the Display Property of a DOM Element and Why the .style Property May Return Empty Strings

Abrufen der Anzeigeeigenschaft eines DOM-Elements: Den wahren Wert enthüllen

Der bereitgestellte HTML-Code führt einen Absatz und einen Anker mit unterschiedlicher Anzeige ein Stile. Das Abrufen dieser Stile über die style-Eigenschaft scheint jedoch zu unerwarteten leeren Zeichenfolgen zu führen. Warum ist das so und wie können Sie die Anzeigeeigenschaft genau abrufen?

Das Rätsel der leeren Zeichenfolge

Die anfängliche Verwirrung entsteht, weil die .style.* Eigenschaften werden direkt dem Stilattribut zugeordnet, nicht dem angewendeten Stil. Dies bedeutet, dass Sie im Wesentlichen die Inline-Stildeklaration überprüfen, die möglicherweise nicht immer den berechneten Stil widerspiegelt.

Die Lösung: getComputedStyle

Um den tatsächlich angewendeten Stil zu erhalten , einschließlich geerbter Eigenschaften, müssen Sie die Methode getComputedStyle verwenden. Diese Methode verwendet ein DOM-Element als Argument und gibt ein CSSStyleDeclaration-Objekt zurück, das berechnete Stilwerte enthält.

Der bereitgestellte Code kann wie folgt geändert werden, um getComputedStyle zu verwenden:

<code class="javascript">var a = (document.getElementById('a'));
alert(getComputedStyle(a).display);
var p = (document.getElementById('p'));
alert(getComputedStyle(p).display);
p.style.display = 'none';
alert(getComputedStyle(p).display);</code>

Nun das erste Die Warnung zeigt „none“ für das Ankertag an, die zweite Warnung zeigt „block“ für das Absatzelement an und die dritte Warnung zeigt „none“ nach der absichtlichen Anzeigeeinstellung an. Dies spiegelt genau die berechneten Anzeigestile der Elemente wider.

Alternativer Ansatz: Klassenumschaltung

Anstatt sich auf die Anzeigeeigenschaft zu verlassen, könnten Sie erwägen, Klassennamen zum Umschalten zu verwenden die Sichtbarkeit von Elementen. Indem Sie die Präsentation von der Logik trennen, können Sie Ihren Code vereinfachen und ihn weniger anfällig für Stilprobleme machen.

Das obige ist der detaillierte Inhalt vonSo rufen Sie die Display-Eigenschaft eines DOM-Elements genau ab und warum die .style-Eigenschaft möglicherweise leere Zeichenfolgen zurückgibt. 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