Mam div:
<div class="test" id="someElement" style="position: absolute"></div>
Czy istnieje sposób, aby sprawdzić, czy dany element:
$("#someElement")
ma określoną klasę (w moim przypadku „test”).
Czy można też sprawdzić, czy element en ma określony styl? W tym przykładzie chciałbym wiedzieć, czy element ma „ position: absolute
”.
Dziękuję Ci bardzo!
javascript
jquery
css
0100110010101
źródło
źródło
Odpowiedzi:
if($('#someElement').hasClass('test')) { ... do something ... } else { ... do something else ... }
źródło
Style CSS to pary klucz-wartość, a nie tylko „tagi”. Domyślnie każdy element ma przypisany pełny zestaw stylów CSS, większość z nich pośrednio korzysta z domyślnych ustawień przeglądarki, a niektóre z nich są jawnie przedefiniowane w arkuszach stylów CSS.
Aby uzyskać wartość przypisaną do konkretnego wpisu CSS elementu i porównać go:
if ($('#yourElement').css('position') == 'absolute') { // true }
Jeśli nie przedefiniowałeś stylu, otrzymasz domyślną przeglądarkę dla tego konkretnego elementu.
źródło
if ($("element class or id name").css("property") == "value") { your code.... }
źródło
Lub, jeśli chcesz uzyskać dostęp do elementu, który ma tę właściwość i nie używa identyfikatora, możesz skorzystać z tej trasy:
$("img").each(function () { if ($(this).css("float") == "left") { $(this).addClass("left"); } if ($(this).css("float") == "right") { $(this).addClass("right"); } })
źródło
znalazłem jedno rozwiązanie:
$("#someElement")[0].className.match("test")
ale jakoś wierzę, że jest lepszy sposób!
źródło
Pytanie dotyczy dwóch różnych rzeczy:
Odpowiedziano już na drugie pytanie. W przypadku pierwszego zrobiłbym to w ten sposób:
if($("#someElement").is(".test")){ // Has class test assigned, eventually combined with other classes } else{ // Does not have it }
źródło