什么会$('div,span',$('.test')).选择器输出?jQuery bug?

ant*_*nyv 3 javascript jquery jquery-selectors

我有类似于以下选择器的东西:

$('div, span', $('.test')).selector
Run Code Online (Sandbox Code Playgroud)

我希望生成的选择器是:

.test div, .test span
Run Code Online (Sandbox Code Playgroud)

但它实际上产生了

.test div, span
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?我需要预期的结果,否则它是一个巨大的头痛.

Nic*_*ver 5

这是一个错误吗?嗯...这是值得商榷的.在这些情况下(以及许多其他情况),它不可靠,但根据jQuery API,它不一定是.

.selector虽然可访问,但它不是API的支持或docunmented部分,因此它可能会做一些奇怪和不受支持的事情.

简短的版本:它不会是你所追求的,因为它设计用于更简单的情况(通常是一个深度),就像内部.live()使用一样.


编辑:如果任何人的好奇至于为什么这部分,这是它只是怎么写的,你有什么:$('div, span', $('.test')) 其实就是做一个$('.test').find('div, span') 它要求.pushStack(),这是简单的:只有一个附加空间和新的选择.