4

我有一个变量pages

pages = $("[data-role=page]:not([data-url])");

这是

[
<div data-role=​"page" id=​"home" class=​"home ui-page ui-body-c" tabindex=​"0" style=​"min-height:​ 548px;​">​…​&lt;/div>​
, 
<div data-role=​"page" id=​"login" class=​"login ui-page ui-body-c ui-page-active" tabindex=​"0" style>​…​&lt;/div>​
]

但是当我使用时,pages.index(".ui-page-active")我得到-1了一个不正确的结果。

但是,当我搜索时,pages.index(".ui-page")我得到1了正确的结果。

有任何想法吗?

更新:

pages.index( $('.ui-page-active') )返回1——正确的结果!但是为什么选择器选项不起作用?

4

1 回答 1

3

.index()方法获取当前选择的第一个元素,并在您传递的选择器的所有元素中搜索它。查看文档

查看负责的代码可能会有所帮助

所以当我这样做时:

$('.a').index('.b');

它将为您提供.a所有找到的.b元素中第一个元素的索引。

看起来你想要的与你所拥有的相反,所以可能:

// Find '.ui-page' within the '[data-role=page]:not([data-url])' set:
$('.ui-page').index('[data-role=page]:not([data-url])');

但请注意,这只会查找.ui-page与您传递给的选择器匹配的元素中的第一个元素index(...)

于 2013-05-15T21:38:28.307 回答