2009-11-28 12 views
17

Mi chiedo se esiste un modo per convertire la stringa in oggetto jQuery e selezionare elementi interni senza iniettare l'intera stringa in DOM e manipolarla lì. Grazie.Converti la stringa in oggetto jQuery e seleziona l'elemento interno

Se possibile, per favore mi dia esempio di conversione

<div id=a1></div> 
<div id=a3></div> 

E selezionare a1 dalla variabile oggetto.

risposta

26

Questo creerà elementi dal html e trovare l'elemento A1:

var element = $('<div id="a1"></div><div id="a3"></div>').filter('#a1').get(0); 
6

Il modo corretto per farlo è:

var a1 = $('<div id="a1"></div><div id="a3"></div>').filter('#a1')[0]; 

Ottenere l'elemento DOM con [0] è equivalente a .get(0) .

Aggiornamento: interessante, non ho mai incontrato questo caso angolo prima che questo:

var a1 = $("#a1", "<div id=a1><//div><div id=a3><//div>")[0]; 

non funziona quando l'elemento è al livello più alto, che io ritengo essere un insetto. Non l'ho mai visto prima, quindi ho pensato di lasciarlo qui come una ammonizione. Grazie a Crescent Fresh per averlo indicato.

+2

No, ciò che si è tradotto in '$ () .find ('# a1')', e 'find' non cerca gli elementi di livello superiore nel set. @ La risposta di 'filtro' di Guffa tuttavia. –