如何创建一个空的jQuery结果

nic*_*ckf 29 javascript jquery

编辑:从jQuery 1.4开始,使用$()将如下所述工作.


我需要遍历一个数组并创建一些我希望在一个jQuery结果对象中拥有的元素.

for (var i = 0; i < 10; ++i) {
    $myJQueryObj = $myJQueryObj.add($("<span>blahblah</span>"));
}
Run Code Online (Sandbox Code Playgroud)

但是,这个问题是你需要一个jQuery对象,你显然想把它开始为空.在上面的例子中,我该如何初始化$myJQueryObj

以下示例不起作用,因为它们都选择了文档对象:

$('')
$()
$(null)
$(false)
Run Code Online (Sandbox Code Playgroud)

这些确实有效......但......

$('#nonExistantElement')  // yuck
$().slice(0,0)            // surely there's a nicer way?
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

Joh*_*lla 54

是的.试试$([]).原因$()不起作用是因为jQuery期望一个上下文,并且没有任何提供,将默认document为上下文.很多事情都依赖于这个假设是正确的,所以$()改为意思是"给我空集"将充其量只是问题.


nic*_*ckf 12

啊,我在写完这个问题之后就明白了.这是我发现的,以防其他人感兴趣:

$([])
Run Code Online (Sandbox Code Playgroud)