Come selezioni gli elementi in base al loro stile?
-
22-07-2019 - |
Domanda
Usando jQuery, come troveresti elementi che hanno uno stile particolare (es: float: left
), indipendentemente dal fatto che sia uno stile inline o uno definito in un file CSS?
Soluzione
Uso della funzione filtro :
$('*').filter(function() {
return $(this).css('float') == 'left';
});
Sostituisci '*' con i selettori appropriati per il tuo caso.
Altri suggerimenti
Sarà lento. Come DAVVERO lento. Se sai che devi selezionare tutti gli elementi con un determinato stile CSS, vedrai prestazioni molto migliori applicando una singola regola css aggiuntiva a ciascun elemento, quindi selezionando quella regola.
Sarà MOLTO più veloce e più leggibile per l'avvio.
CSS:
.float-left {float:left}
Javascript:
$('.float-left');
Beh, non so se mi avvicinerei in questo modo. Perché non rinominare quegli elementi con un ID coerente o un nome di classe e selezionarlo?
Se questa non è un'opzione, dovrebbe funzionare:
this.getElementsByTagName('div').item(0).style.float = 'left';
Penso.