我仍在尝试从字符串创建完整的DOM document
。我在this other question上收到了一些有趣的建议,但没有一个真正符合我的要求。所以我试图了解事情是如何工作的,以便找到解决方案。
我们需要用“本机”Javascript替换大量的JQuery代码。使用Jquery,我们可以执行$('<html><head>...</head><body>...</body></html>')
,然后在此对象的节点上执行操作,搜索它们等等。
Jquery做什么?它会创建一个新文档吗?附加到现有的?
由于很多人质疑我们更换Jquery,这里有一些细节:我们正在构建一个使用内容脚本的chrome应用程序。即使Jquery是轻量级的,在每个选项卡中为少数Jquery方法添加几MB内存也不是很好。 Jquery 非常棒,可以满足很多需求,而不是我们的需求。
答案 0 :(得分:1)
jQuery是开源的,所以see for yourself。
看起来它使用了createElement
和createDocumentFragment
的组合,具体取决于一些事项。
所以你不能使用jQuery,但你可以重新发明它?似乎很奇怪。试着失去这个奇怪的要求。
答案 1 :(得分:1)
您可以在jQuery source中找到答案。您从core.js
开始,在那里您可以找到init
方法。如果您遵循那里的逻辑,您将看到对于任何非平凡的元素,它将调用jQuery.buildFragment
,它确实会构建一个DocumentFragment
,它将填充您指定的内容。这将教你如何处理从字符串构建DOM树,包括stripping out various bits of content that you most likely won't want。