【发布时间】:2013-03-06 16:27:35
【问题描述】:
我想要实现的是通过传递一个大的 html 字符串来操作使用 jquery 使用 DOM 创建的文档。考虑以下示例:
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 库。
【问题讨论】:
标签: javascript jquery html dom browser