Feststellen, ob die CSS-Eigenschaft auf einen bestimmten Wert gesetzt ist?

Lesezeit: 2 Minuten

Benutzer-Avatar
Tom

Ich frage mich nur, wie man eine jQuery-Anweisung wie diese bestimmt

if( $("#test").css('display', 'block') == true) {
   return true;
}

Grundsätzlich möchte ich feststellen können, ob ein Element gerade über das Attribut “display:block” angezeigt oder ausgeblendet wird?

Verwenden

if( $("#test").css('display') == 'block') {

Ich bin mir ziemlich sicher .css(), die einen berechneten Wert zurückgibt, gibt immer ein Ergebnis in Kleinbuchstaben zurück – die Dokumentation sagt dazu nichts aus. Um ganz sicherzugehen, könnten Sie a

if( $("#test").css('display').toLowerCase() == 'block') {

während Sie sich darauf verlassen können display Beachten Sie, dass einige CSS-Eigenschaften zuverlässige Ergebnisse liefern werden nicht immer so angezeigt, wie sie definiert wurden. Zum Beispiel

a { color: red }

wird sich herausstellen rgb(255,0,0); bei Abfrage mit .css().

  • @Tom Sie prüfen, ob test1 hat display: none was es nicht hat. Meinst du display != 'block'?

    – Pekka

    8. Mai 2011 um 17:49 Uhr

  • @Pekka – Danke für die Antwort 🙂 Nein, ich wollte überprüfen, ob #test block ist – und wenn es block ist, dann test1 anzeigen?

    – Tom

    8. Mai 2011 um 17:49 Uhr

  • @Tom ja, jetzt verstehe ich. Versuche dies: jsfiddle.net/eEF9Y/4 Sie haben jQuery im Menü links nicht ausgewählt, der Code funktioniert.

    – Pekka

    8. Mai 2011 um 17:51 Uhr

Sie können isvisible und is hidden auch verwenden

if ( $('#test').is(':visible')){

  • Dies funktioniert tatsächlich besser, wenn Sie die Sichtbarkeit bestimmen möchten, +1

    – Pekka

    8. Mai 2011 um 17:10 Uhr


  • Das ist sehr interessant. Ich habe versucht, einige Videos zu pausieren, die auf Mobilgeräten durch eine Medienabfrage ausgeblendet wurden, die display:none; zu ihnen, aber tröstend gab $(elm).css(‘display’) ‘block’ zurück, was ihr Standardwert war. Ihre Antwort hat es ihnen angetan. Danke vielmals!

    – Rorok_89

    21. März 2018 um 11:34 Uhr

Ich denke, die einzige Möglichkeit, dies zu testen, besteht darin, mit tatsächlichen Werten zu vergleichen:

function displayHidden(elem) {
    return $(elem).css('display') === 'hidden';
}

1257770cookie-checkFeststellen, ob die CSS-Eigenschaft auf einen bestimmten Wert gesetzt ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy