私が達成したいことは、jquery を使用して DOM で作成されたドキュメントを、大きな html 文字列を渡すことによって操作することです。次の例を検討してください。
var doctype = document.implementation.createDocumentType( 'html', '', '');
var dom = document.implementation.createDocument('', 'html', doctype);
dom.documentElement.innerHTML = '<head><head><title>A title</title></head><body><div id="test">This is another div</div></body>';
これにより、コンテンツが提供された新しいドキュメントが dom に作成されます。ここで、jquery を使用して、既存の div 内に div を追加します。
$('#test',dom).append('<div> A second div</div>');
console.log(dom);
結果をコンソールに出力すると、「dom」の innerHTML が変更されていないようです。jquery の API ドキュメントから、http://api.jquery.com/jQuery/より具体的な「jQuery( selector [, context ] )」関数でこれを許可する必要があります。
誰かがコンソールを使用してデバッグすることについて議論する可能性があるため、動作しないコードの別の部分を以下に示します。
$('body').append($('#test',dom));
chrome と firefox でテスト済みですが、最新の jquery ライブラリでは動作しません。