문제

jQuery의 XHTML 마크 업 조각을로드하려고합니다. $.fn.load 기능이지만 새로운 마크 업을 DOM에 추가하려는 오류가 발생합니다. 나는 이것을 XML 선언으로 좁혔다 (<?xml...?>) - 선언없이 정적 텍스트를 반환하면보기가 작동합니다. 이것이 왜 이것이 실패를 유발하는지 또는 jQuery, Firefox 또는 내 코드에 있는지 이해하지 못합니다.

jQuery를 사용하여 XHTML 조각을 DOM에 어떻게 삽입해야합니까?


$ .get을 사용하여 작동하지 않습니다. 콜백은 Document 객체, 그리고 DOM에 삽입하려고하면 다음 오류가 발생합니다.

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

이것은 내 코드입니다.

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

샘플 응답 :

<?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>
도움이 되었습니까?

해결책

대신 시도해보십시오 (방금 빠른 테스트를했는데 작동하는 것 같습니다) :

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

기본적으로 .children ()은 루트 노드를 가져 와서 DIV의 내용을 교체합니다. XML 문서를

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top