订单对象是否由指定的jQuery选择器返回?

use*_*584 91 jquery

所有jQuery选择器都返回一个对象数组.这些对象的顺序是否与HTML中的顺序相同?我可以依靠吗?

Kob*_*obi 112

是.
jQuery的1.3.2版本注释说:

文档顺序中返回的元素

这是对jQuery的选择器引擎的更改,它将返回的结果重新排序为文档顺序,而不是传递选择器的顺序.此更改是为了符合Selectors API规范( jQuery在内部使用支持它的浏览器).

这不是jQuery 1.3的情况:

"a,b,c"样式选择器的顺序可能会改变.支持querySelectorAll(Safari,Firefox 3.5 +,Opera 10 +,IE 8+)的浏览器将按文档顺序返回元素,其他浏览器将(按当前)按指定的顺序返回它们.在1.3.2及更高版本中,所有逗号分隔的选择器将按文档顺序返回.


Eme*_*ski 8

可能有一些例外,例如来自prevAll()文档:

"给定一个表示一组DOM元素的jQuery对象,.prevAll()方法搜索DOM树中这些元素的前身,并从匹配元素构造一个新的jQuery对象; 元素按顺序返回最亲密的兄弟姐妹."

http://api.jquery.com/prevAll/