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!
if($('#someElement').hasClass('test')) {
... do something ...
}
else {
... do something else ...
}
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.
if ($("element class or id name").css("property") == "value") {
your code....
}
ich habe eine Lösung gefunden:
$("#someElement")[0].className.match("test")
aber irgendwie glaube ich, dass es einen besseren Weg gibt!
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"); }
})
Die Frage fragt nach zwei verschiedenen Dingen:
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
}