J'ai un div:
<div class="test" id="someElement" style="position: absolute"></div>
Est-il possible de vérifier si l'élément certain:
$("#someElement")
a une classe particulière (dans mon cas, "test").
Sinon, y a-t-il un moyen de vérifier que l'élément en a un certain style? Dans cet exemple, j'aimerais savoir si l'élément a "position: absolute
".
Merci beaucoup!
if($('#someElement').hasClass('test')) {
... do something ...
}
else {
... do something else ...
}
Les styles CSS sont des paires clé-valeur, pas seulement des "balises". Par défaut, chaque élément est associé à un ensemble complet de styles CSS. La plupart d'entre eux utilisent implicitement les paramètres par défaut du navigateur et certains d'entre eux sont explicitement redéfinis dans les feuilles de style CSS.
Pour obtenir la valeur attribuée à une entrée CSS particulière d'un élément et la comparer:
if ($('#yourElement').css('position') == 'absolute')
{
// true
}
Si vous n'avez pas redéfini le style, vous obtiendrez la valeur par défaut du navigateur pour cet élément particulier.
if ($("element class or id name").css("property") == "value") {
your code....
}
j'ai trouvé une solution:
$("#someElement")[0].className.match("test")
mais d'une certaine manière, je crois qu'il existe un meilleur moyen!
Ou, si vous avez besoin d'accéder à l'élément qui possède cette propriété et qu'il n'utilise pas d'identifiant, vous pouvez choisir l'itinéraire suivant:
$("img").each(function () {
if ($(this).css("float") == "left") { $(this).addClass("left"); }
if ($(this).css("float") == "right") { $(this).addClass("right"); }
})
La question demande deux choses différentes:
La deuxième question a déjà été répondue. Pour le premier, je le ferais de cette façon:
if($("#someElement").is(".test")){
// Has class test assigned, eventually combined with other classes
}
else{
// Does not have it
}