$('......')如何运作?

时间:2012-03-08 10:17:04

标签: jquery document

我仍在尝试从字符串创建完整的DOM document。我在this other question上收到了一些有趣的建议,但没有一个真正符合我的要求。所以我试图了解事情是如何工作的,以便找到解决方案。

我们需要用“本机”Javascript替换大量的JQuery代码。使用Jquery,我们可以执行$('<html><head>...</head><body>...</body></html>'),然后在此对象的节点上执行操作,搜索它们等等。

Jquery做什么?它会创建一个新文档吗?附加到现有的?

由于很多人质疑我们更换Jquery,这里有一些细节:我们正在构建一个使用内容脚本的chrome应用程序。即使Jquery是轻量级的,在每个选项卡中为少数Jquery方法添加几MB内存也不是很好。 Jquery 非常棒,可以满足很多需求,而不是我们的需求。

2 个答案:

答案 0 :(得分:1)

jQuery是开源的,所以see for yourself

看起来它使用了createElementcreateDocumentFragment的组合,具体取决于一些事项。

所以你不能使用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