Controlla se gli elementi selezionati hanno una classe css
$(selector).hasClass(classname)
Se uno degli elementi selezionati ha il nome della classe specificato, il metodo restituisce true.
<script>
$(document).ready(function(){
$("button").click(function(){
if ($("p").hasClass("classe1")) {
$("p").addClass("classe2")
}
});
});
</script>
<style>
.classe1 {
font-weight:bold;
}
.classe2 {
border:1px solid red;
}
</style>
<p class="classe1">paragrafo 1.</p>
<p class="classe1">paragrafo 2.</p>
<p>paragrafo 3.</p>
<button>Cambia classe</button>
In questo caso il paragrafo 3 non ha la classe “classe1”, a gli viene applicata comunque la “classe2” poiché il metodo restituisce true.
Se invece volessimo applicare la “classe2” solo ai paragrafi che hanno la “classe1”, dovremmo usare una sintassi del genere:
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").each(function(){
var p = this;
if ($(p).hasClass("classe1")) {
$(p).addClass("classe2");
}
});
});
});
</script>
<style>
.classe1 {
font-weight:bold;
}
.classe2 {
border:1px solid red;
}
</style>
<p class="classe1">paragrafo 1.</p>
<p class="classe1">paragrafo 2.</p>
<p>paragrafo 3.</p>
<button>Cambia classe</button>