jQuery kaynağını inceledikten sonra, XML belgelerinde bulunmayan replaceWith
numaralı aramaların neden olduğunu anlıyorum. replaceWith
XML belgelerinde çalışmaması gerekiyor mu?XML sorunuyla değiştirme XML sorunu için
, yapmak ne çalışıyorum gerçekleştirmek olacaktır:
xml.find('b').each(function() {
$(this).replaceWith($('<c>yo</c>')) // this way you can custom taylor the XML based on each node's attributes and such
});
Ama yine neden kolay yolu bilmek istiyorum çalışmıyor
jQuery hakkında fazla bir şey bilmiyorum, ancak bu işe yaramalı mıyım? başarısız ve <a></a>
temsil <a><c>yo</c></a>
temsil
xml = $.parseXML('<a><b>hey</b></a>')
$(xml).find('b').replaceWith('<c>yo</c>')
yerine xml
. Ben yanlış bir şey mi yaptım? JQuery 1.6.2 kullanıyorum.
Düzenleme: Bir yan not olarak
, ben replaceWith
işlevi sürümünü kullanın şöyle denerseniz:
TypeError: Cannot call method 'replace' of undefined
:
$(xml).find('b').replaceWith(function() {
return '<c>yo</c>' // doesn't matter what I return here
})
bu hatayı alıyorum Düzenleme 2:
replaceAll
ancak çalışır, ancak ben bu yüzden bu razı edemez işlev sürümünü kullanmanız gerekir:
$('<c>yo</c>').replaceAll($(xml).find('b')) // works
Edit 3:
Bu aynı zamanda çalışır:
xml.find('b').replaceWith($('<c>yo</c>')) // but not with the $() around the argument
Bu değeri bildirmeyi düşünür müsünüz? –
@Seth: Tabii, neden olmasın? En kötüsü, "düzeltmeyecek" olmanız ve en azından sorunun belgelenmesidir. –
Evet. Makul insanların beklediği gibi ya da belgelerin ima ettiği gibi işe yaramıyor. Sadece göndermeden önceki hataları arayın (ben * hızlı * arama yaptım ve hiçbir şey görmedim). –