2011-11-10 9 views
6

Sto usando il nuovo metodo $ .parseXML() con jQuery 1.5 per analizzare una stringa in un oggetto XML valido. Una volta convertito la stringa in un oggetto XML jQuery, sono in grado di navigare nel DOM dell'XML e cercare i valori. Posso persino modificare i valori di diversi attributi. Tuttavia, non posso inserire nuovi elementi nell'XML, anche se ritengo che ciò sia possibile. Di seguito è riportato un frammento di codice che illustra il problema:Impossibile inserire elementi in un oggetto jQuery XML

var myXml = "<one attr='a'><two attr='b'/><three attr='c'><four attr='d'/></three></one>"; 
myXml = $.parseXML(myXml); 
$(myXml).find('two').attr('attr','new value'); //<-- This works 
alert($(myXml).find('two').attr('attr')); //<-- This works too 
$(myXml).find('three').append('<five>some value</five>'); //<-- Does not work 
alert($(myXml).find('five').text()) // <--Null 

Qualcuno ha idee su come rendere questo lavoro? Grazie in anticipo.

risposta

8

Il problema qui è che si aggiunge una stringa anziché un elemento DOM. Per aggiungere un elemento DOM è necessario avvolgere il nuovo XML in un'espressione $(...)

$(myXml).find('three').append($('<five>some value</five>')); 

Fiddle: http://jsfiddle.net/kDmD8/

+0

mi sento così stupido per domina questo. Grazie per la risposta rapida! – jake

+0

@jake non mi sento sciocco. Tutti fanno degli errori. Ecco a cosa serve StackOverflow;) – JaredPar

Problemi correlati