0

嘿,我想我的问题相对简单。

我想知道 jQuerys each() 方法是否按元素顺序扫描页面,我似乎找不到答案。

我的意思是说我有:

  <div>
<span class="example">1</span>
<span class="example>2</span>
</div>
<div>
<span class="example">3</span>
</div>

我写了以下内容:

    $('.example').each(function(index) {
    alert(index + ': ' + $(this).text());
});

我会一直得到“123”吗?我的意思是,如果元素分散得更多……

4

2 回答 2

0

页面从上到下扫描。检查演示

整个页面按 DOM 元素存在的顺序读取。

于 2012-10-18T06:30:55.377 回答
0

是的,在像这样的普通选择器查询中,对象按 jQuery 对象中的 DOM 顺序排序,而 jQuery 数组顺序是它们在.each()迭代中呈现的顺序。在构建 jQuery 对象(在 jQuery 代码中)有一个明确的步骤,其中所有 DOM 元素都按页面顺序从上到下排序。

有一些 jQuery 方法,例如.prev()or .prevAll(),它们明确地不按文档顺序返回元素,而是按先前的顺序(从起点向上)。

于 2012-10-18T06:31:50.967 回答