可以在文档外的元素上使用jQuery吗?

Sha*_*ane 5 javascript jquery dom

使用一些遗留架构并且由于初始化序列的性质,我需要在将元素添加到文档之前将其包装起来.说我有以下内容:

<div id="containerX">
   <div id="myNode"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要在添加到DOM之前包装"myNode".jQuery选择器甚至可以在这种情况下工作吗?如果是这样,我怎么能做到这一点?我试过像这样传递元素:

(更正了下面某些答案中提到的一些拼写错误):

$(this.element).wrap('<div id="'+ "myWrapper_" + this.id + '"></div>');
Run Code Online (Sandbox Code Playgroud)

没有运气.我假设选择器的通常语法不起作用,因为节点在文档之外.我发现的最接近的是这篇文章: 在将DOM元素添加到文档之前操作DOM元素但是我的情况和他之间的区别是我没有字符串,我有使用document.createElement创建的元素没有附加.

任何人都可以指出我正确的方向或甚至可能吗?

谢谢

kap*_*apa 2

jQuery 允许您处理尚未添加到文档中的元素。它们可以是简单的 HTML 字符串,也可以是使用createElement().

让我举一个简单的例子:

var container=document.createElement('div');
container.id='containerX';
var mynode=document.createElement('div');
mynode.id='myNode';
container.appendChild(mynode);

$(container).find('#myNode').wrap('<div id="myWrapper'+mynode.id+'">');
Run Code Online (Sandbox Code Playgroud)

这应该会产生您想要的结构。您只需应用变量名称即可。我这样做是因为我不确定你的this.element内容。

请查看jsFiddle 演示