2009-07-20 10 views
13

Ad esempio, ho un corpo con la classe "test" e voglio prendere quella classe e aggiungerla a un altro div, come posso farlo con jQuery?Copia classe da un elemento a un altro

Grazie

Modifica: Qualcosa di simile?

$("body.test").clone().attr("class").prependTo("div"); 
+0

Vuoi dire che vuoi copiare lo stile per quella classe in un altro div? –

+0

No Voglio aggiungere una classe al mio corpo e farla aggiungere ad un elemento specifico. –

risposta

-5
$('element').hasClass("test", function() { 
$('element2').addClass("test"); 
}); 

dovrebbe farlo - sintatticamente non testato, ma è più o meno quello che avrei fatto.

+0

Sintatticamente dovrebbe essere qualcosa del tipo: if ($ ('elemento'). HasClass ("test")) { $ ('element2'). AddClass ('test'); } sembra essere la struttura del metodo - non può mai ricordare la sintassi! –

35

Mi sono imbattuto nella tua domanda mentre cercavo una soluzione allo stesso problema. Sebbene la soluzione proposta funzioni, devi conoscere il nome della classe.

ecco un altro modo per farlo senza conoscere i nomi delle classi. Come si pensava, utilizza .attr()

$("#MyTargetElementId").attr("class", $("body.ToCopy").attr("class")); 

L'utilizzo di più selettori non è realmente funziona, però, che tipo di senso :)

0

Il link qui sotto potrebbe aiutare di copiare classe o id attributi da un elemento a un altro. Contiene anche esempi dal vivo come farlo.

http://html-tuts.com/copy-class-id-to-another-html-element-with-jquery/


Ecco alcuni brevi esempi:

Copia tutte le classi da un elemento ad un altro

$('.differentClass').addClass($('.anotherClass').attr('class')); 

Se elemento ha più classi, li entrare in array e copia solo la seconda classe (o qualsiasi altra classe):

var getClasses = $('.someClass').attr('class'); 
var splitClasses = getClasses.split(' '); 

$('.differentClass').addClass(splitClasses[1]); 

Questo si tradurrà nella matrice di seguito, e si può valori di uscita, fornendo la posizione di matrice:

splitClasses[0] => 'firstClass' 
splitClasses[1] => 'secondClass' 
splitClasses[2] => 'thirdClass' 

Copia ID da elemenet a un altro

$('.someClass').attr('id', $('#someId').attr('id')); 
2

si dovrebbe usare questo se vuoi semplicemente aggiungere classi da un altro elemento senza rimuovere le classi esistenti:

$('.i_want_your_classes').addClass($('.have_my_classes').attr("class")); 
Problemi correlati