Ist es möglich zu überprüfen, ob das CSS eines Elements display == block
oder none
JavaScript?
javascript
css
Seth
quelle
quelle
currentStyle
?document.body.currentStyle
Wenn der Stil inline oder mit JavaScript deklariert wurde, können Sie einfach an die
style
Objekt gelangen:Andernfalls müssen Sie den berechneten Stil ermitteln, und es gibt Browser-Inkonsistenzen. IE verwendet ein einfaches
currentStyle
Objekt, aber alle anderen verwenden eine Methode:Das
null
war in Firefox Version 3 und darunter erforderlich.quelle
===
und!==
Operatoren" , warum .===
anstatt==
hier, aber es gibt auch keinen Vorteil. Es ist garantiert, dass beide Operanden Zeichenfolgen sind, sodass beide Operatoren genau dieselben Schritte ausführen.Meinst du für jQuery so?
Sie können es so überprüfen:
quelle
Diese Antwort ist nicht genau das, was Sie wollen, kann aber in einigen Fällen nützlich sein. Wenn Sie wissen, dass das Element bei der Anzeige einige Dimensionen aufweist, können Sie auch Folgendes verwenden:
EDIT: Warum ist dies möglicherweise besser als die direkte Überprüfung der CSS-
display
Eigenschaft? Weil Sie nicht alle übergeordneten Elemente überprüfen müssen. Wenn ein übergeordnetes Element vorhanden istdisplay: none
, werden auch die untergeordneten Elemente ausgeblendet, haben es jedoch weiterhinelement.style.display !== 'none'
.quelle
Ja.
quelle
Grundlegendes JavaScript:
quelle
Um herauszufinden, ob es mit einfachem JavaScript sichtbar ist, überprüfen Sie, ob die Anzeigeeigenschaft 'none' ist (prüfen Sie nicht, ob 'block' vorhanden ist, sie kann auch leer oder 'inline' sein und weiterhin sichtbar sein):
Wenn Sie jQuery verwenden, können Sie stattdessen Folgendes verwenden:
quelle
Mit reinem Javascript können Sie die
style.display
Eigenschaft überprüfen . Mit jQuery können Sie verwenden$('#id').css('display')
quelle
Sie können dies beispielsweise mit jQuery überprüfen:
Es wird eine Zeichenfolge mit Informationen zur Anzeigeeigenschaft dieses Elements zurückgegeben.
quelle