2008-10-01 22 views
9

jQuery'nin $.fn.load işlevini kullanarak XHTML biçimlendirmesinin parçalarını yüklemeyi deniyorum, ancak yeni işaretlemeyi DOM'a eklemeye çalışırken bir hata ortaya çıkıyor. Bunu XML bildirgesine (<?xml...?>) daraltdım - bildirimde bulunmadan statik metin döndürürseniz görünüm çalışır. Bunun neden başarısızlığa neden olacağını veya suçun jQuery, Firefox veya kodumda bulunup bulunmadığını anlamıyorum.jQuery ile AJAX üzerinden XHTML parçaları yükleniyor

XHTML parçalarını jQuery'yi kullanarak DOM'a nasıl yerleştirmeliyim?


çalışmıyor $ .get kullanma - geri arama bir Document nesneyi alır ve ben DOM içine eklemeye çalıştığınızda, aşağıdaki hatayı alırsınız:

uncaught exception: Node cannot be inserted at the specified point in the hierarchy (NS_ERROR_DOM_HIERARCHY_REQUEST_ERR) 
http://localhost:8000/static/1222832186/pixra/script/jquery-1.2.6.js 
Line 257 

Bu benim kodu:

$body = $("#div-to-fill"); 
$.get ("/testfile.xhtml", undefined, function (data) 
{ 
    console.debug ("data = %o", data); // data = Document 
    $body.children().replaceWith (data); // error 
}, 'xml'); 

bir örnek tepkisi:

012.351.
<?xml version="1.0" encoding="UTF-8"?> 
<div xmlns="http://www.w3.org/1999/xhtml"> 
    <form action="/gallery/image/edit-description/11529/" method="post"> 
    <div>content here</div> 
    </form> 
</div> 

cevap

15

yerine bu deneyin (ben sadece hızlı test yaptım ve o iş gibi görünüyor): Temel olarak

$body = $("#div-to-fill"); 
$.get ("/testfile.xhtml", function (data) 
{ 
    $body.html($(data).children()); 
}, 'xml'); 

, .Children() Size kök düğümü almak ve onunla div içeriğini değiştirir . <? Xml bildirimi ile bir xml belgesini DOM ...

içine tam olarak ekleyemezsiniz.