【发布时间】:2011-04-06 11:25:10
【问题描述】:
帮我把我逼疯....
.index() 函数不会为我返回正确的索引,除非我对 index() 的整个概念有错误:)
这就是它背后的逻辑
<div class="sections">Section 1</div>
<div class="sections">Section 2</div>
<div class="sections">Section 3</div>
<div class="sections">Section 4</div>
.sections{display:none;} //css
$('.sections:eq(1)').show();// shows sectiond 2 text
$('.sections:visible').index();// returns 2 I expected 1
实际网站
<div class="sections">Section 1</div>
var section = $('.sections:visible').index();// returns 2
console.log($('.sections:visible').length); // returns 1
console.log($('.sections').length); // returns 1 as well since there is one section
window.location.hash = 'section-'+section;// url hash is #section-2
【问题讨论】:
-
它在 Chrome 上使用 jsfiddle.net/DsSV5 为我返回
1 -
为我返回 1 jsfiddle.net/AbEWF/1
-
在 jsfiddle 上和我一样。在我的实际站点上,我只有一个
.sectiondiv,但为了更好地展示它,我在这里放了多个。我不知道这两个是从哪里来的......我使用了 .length 并返回一个,这意味着没有任何其他 div 属于同一类
标签: jquery function indexing core