jQuery包装集中元素的顺序是否保证与元素在标记中出现的顺序相匹配?
我问,因为我需要对一组嵌套元素执行操作,我需要始终按嵌套顺序执行操作。
我是否可以使用匹配集上的.each()
迭代器运行操作并始终获得正确的顺序,或者我是否需要找到其他方法来保证操作顺序与嵌套顺序匹配?
答案 0 :(得分:27)
我自己一直在看这个。 jQuery确实按照以下文章按文档顺序返回内容:
http://docs.jquery.com/Release:jQuery_1.3.2
因此,如果您选择一些ID:
$("#id1, #id2, #id3")
然后它们将按照它们在DOM中出现的顺序返回,而不一定按它们给出的顺序返回。当你从早期版本升级到更高版本的jQuery时,它当然值得注意这一点。
答案 1 :(得分:11)
jQuery将自上而下匹配您的查询,因此匹配的集合将始终相同。
答案 2 :(得分:2)
我忘记了它的具体版本,但JQuery 1.3.x保证文档顺序是结果元素的顺序,即使是像'span,div'这样的查询。 (先前版本没有按文档顺序返回结果,我需要多次。)