2011-11-10 20 views
6

Geçerli bir XML nesnesine bir dizeyi ayrıştırmak için jQuery 1.5 ile yeni $ .parseXML() yöntemini kullanıyorum. Dizeyi jQuery XML nesnesine dönüştürdüğümde, XML'in DOM'sinde gezinebilir ve değerlere bakabilirim. Farklı özelliklerin değerlerini bile değiştirebilirim. Ancak, bunun mümkün olabileceğine inansam da XML'e yeni öğeler ekleyemiyorum.Bir jQuery XML nesnesine eleman eklenemiyor

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 

kimse bu işi yapma konusunda fikir var mı: Aşağıda sorunu gösteren bir kod parçacığı nedir? Şimdiden teşekkürler.

cevap

8

Burada sorun, bir DOM öğesi yerine bir dize ekliyor olmanızdır. Bir DOM öğesi eklemek için bir $(...) ifadede yeni XML sarmak gerekir

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

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

+0

Bunu bakan için çok aptal hissediyorum. Hızlı cevap için teşekkürler! – jake

+0

@jake aptallık hissetmiyor. Herkes hata yapar. Stackoverflow budur;) – JaredPar

İlgili konular