it-swarm.com.de

Jquery: So prüfen Sie, ob das Element bestimmte CSS-Klassen/Stile hat

Ich habe ein div:

<div class="test" id="someElement" style="position: absolute"></div>

Gibt es eine Möglichkeit zu überprüfen, ob das bestimmte Element:

$("#someElement") 

hat eine bestimmte Klasse (in meinem Fall "Test").

Gibt es eine Möglichkeit, zu überprüfen, ob das Element einen bestimmten Stil hat? In diesem Beispiel würde ich gerne wissen, ob das Element "position: absolute" hat.

Vielen Dank!

79
0100110010101
if($('#someElement').hasClass('test')) {
  ... do something ...
}
else {
  ... do something else ...
}
54
Darin Dimitrov

CSS-Stile sind Schlüssel-Wert-Paare, nicht nur "Tags". Standardmäßig ist jedem Element ein vollständiger Satz von CSS-Stilen zugewiesen, die meisten verwenden implizit die Browserstandardwerte, und einige davon werden in CSS-Stylesheets explizit neu definiert.

So erhalten Sie den Wert, der einem bestimmten CSS-Eintrag eines Elements zugewiesen ist, und vergleichen Sie ihn:

if ($('#yourElement').css('position') == 'absolute')
{
   // true
}

Wenn Sie den Stil nicht neu definiert haben, wird der Browser-Standard für dieses bestimmte Element angezeigt.

264
Tamas Czinege
if ($("element class or id name").css("property") == "value") {
    your code....
}
12
Sandeep Gupta

ich habe eine Lösung gefunden:

$("#someElement")[0].className.match("test")

aber irgendwie glaube ich, dass es einen besseren Weg gibt!

1
0100110010101

Wenn Sie auf das Element zugreifen möchten, das diese Eigenschaft enthält und keine ID verwendet, können Sie die folgende Route verwenden:

$("img").each(function () {
        if ($(this).css("float") == "left") { $(this).addClass("left"); }
        if ($(this).css("float") == "right") { $(this).addClass("right"); }
    })
1
kelseedev

Die Frage fragt nach zwei verschiedenen Dingen: 

  1. Ein Element hat eine bestimmte Klasse
  2. Ein Element hat einen bestimmten Stil.

Die zweite Frage wurde bereits beantwortet. Für den ersten würde ich es so machen:

if($("#someElement").is(".test")){
    // Has class test assigned, eventually combined with other classes
}
else{
    // Does not have it
}
0
Mario Vázquez