2009-07-09 8 views
9

Sto cercando di cambiare la classe di un elemento con JavaScript utilizzando il codice qui sotto:cambiare classe di un elemento <span> con JavaScript

parent.document.getElementById('<?php echo $markid ?>').class = 'unlistened'; 

Non avendo molta fortuna però. Come faccio a farlo correttamente?

risposta

18

.className piuttosto che .class

+0

d'oh! mi ha battuto per 20 secondi: p – peirix

+0

picchiami anche io ... – edeverett

5

className dovrebbe fare il trucco (:

8

Uso .className invece di .class

Class è una parola riservata in JS quindi è cambiato in className A pochi altri. Gli attributi HTML vengono modificati in modo simile. "Per" modifiche a "htmlPer" per istanza.

2

Solo un consiglio, è molto più facile da usare jQuery se si sta facendo JavaScript in questi giorni, dal momento che è molto più facile e veramente solo richiede di avere una buona conoscenza di CSS (per selettori e così via)

Faresti $(selector).addClass('myclass');

E retrive in questo modo:

$(selector).attr('class');

Oh sì, e si noti che se si utilizza una combinazione di classi su qualsiasi elemento, la funzione sopra riportata le restituirà tutte delimitate da uno spazio (come si definirebbe nell'attributo della classe HTML.) Se si desidera per verificare l'esistenza di una classe particolare, fare questo:

$(selector).hasClass('class');

Ecco i principi fondamentali di manipolazione classe con jQuery. Controlla il http://docs.jquery.com/ per il resto.

+0

Non sono sicuro del motivo per cui le persone fanno downvoting della mia risposta. È un suggerimento utile e amichevole ... –

+0

non ho fatto un downvote ma immagino perché non c'era alcun accenno a cercare una soluzione in jQuery, piuttosto semplicemente JS puro. –

+0

Se non stai già utilizzando jquery, questa non è una risposta utile se la semplice tacution javascript è altrettanto facile (in questo caso, ancora più semplice del tuo suggerimento ...). A proposito: non ti ho minimizzato ... – awe

Problemi correlati