seleziona il selettore speciale dopo $ (questo) selettore

per esempio ho questo codice

 $(document).ready(function () { $('span').each(function () { $(this).html('
') ; if ( $(this).attr('id') == 'W0' ) { $( this > div ?!!! ).text('0') } if ( $(this).attr('id') == 'W1' ) { $( this > div ?!!! ).text('1') } if ( $(this).attr('id') == 'W2' ) { $( this > div ?!!! ).text('2') } }); });

Ma $( this > div ) o $( this ' > div ' ) sono selettori sbagliati e non funzionano

Quindi cosa suggerite che dovrei fare?

Puoi usarlo come segue:

 $(' > div', $(this)) 

Documenti: http://api.jquery.com/child-selector/

O

Per gli elementi figlio diretti, puoi usare i children :

 $(this).children('div') 

Documenti: http://api.jquery.com/children/

O

Utilizzando find

 $(this).find(' > div') 

Documenti: http://api.jquery.com/find/

dimostrazione

Puoi passare un contesto a jQuery insieme al selettore

 $(' > div ', this ) 

o usare bambini () come

 $(this).children('div') 

Ma la tua soluzione può essere fatta come

 $(document).ready(function() { var texts = { W0: '0', W1: '1', W2: '2' } $('span').each(function() { $('
', { text: texts[this.id] }).appendTo(this) }); });