对象集合之间的jQuery.index
jQuery .index among an object collection
我需要在与给定选择器匹配的其他元素中找到元素的索引。我不能简单地使用没有参数的.index(),因为我需要忽略几个"外来"元素。
$('body').delegate('.TabHeader', 'click', function() {
var $this = $(this),
// All tab headers.
$headers = $this.parent().children('.TabHeader'),
// All tab contents.
$contents = $this.parent().siblings('.TabContent'),
// New active tab position.
// PROBLEM HERE, i would like to do that, but jQuery doesn't handle it:
index = $this.index( $headers ),
// New active tab header.
$newActiveHeader = $headers.eq( index ),
// New active tab content.
$newActiveContent = $contents.eq( index );
// Hidding all other tabs.
$headers.not( $newActiveHeader ).removeClass('Active');
$contents.not( $newActiveContent ).removeClass('Active').addClass('Hidden');
// Showing new active tab.
$newActiveHeader.addClass('Active');
$newActiveContent.addClass('Active').removeClass('Hidden');
});
使用这种HTML代码:
<div>
<ul>
<li class="TabHeader Active">Tab 0</li>
<li class="TabHeader">Tab 1</li>
<li class="TabHeader">Tab 2</li>
<!-- There can be foreign elements mixed with <li> elements -->
</ul>
<div class="TabContent Active">
Content 0
</div>
<div class="TabContent Hidden">
Content 1
</div>
<div class="TabContent Hidden">
Content 2
</div>
<!-- There can be foreign elements mixed with <div> elements -->
</div>
(选项卡是动态生成的,所以如果重要的话,我使用.delete())
是否有一种明确的方法可以在匹配的元素集合中而不仅仅在父元素的子元素中获取元素的索引?
// Assuming `this` refers to a `.TabHeader` element
var i = $('.TabHeader').index(this);
$this.index(); // you don't have to refer to it's parent or siblings!
这样就行了。
示例
相关文章:
- 将 jQuery 代码添加到 Index.aspx 页面
- 更改基于它的Select OPTION's INDEX(Jquery)
- Z-Index 和定位:项目在使用“Particleground”Jquery 插件时不断向下推
- jquery手机应用程序的第一页必须是index.html
- jQuery `index()` equivalent in Vanilla JS
- Jquery index() 找不到我的元素
- jQuery index() - multilevel <ul>
- JQuery .index() 不返回元素的正确索引
- jQuery and PHP undefined index
- 香草 js 替换 jQuery 的 index() 和 eq()
- jQuery .index(),将更改与参数混淆
- 带有一些特定选择器的 jquery index()
- 在 jQuery 中无限更改 z-index
- Jquery .index() 虽然 WAMP 不起作用
- index.php中的多个jquery对话框
- 对象集合之间的jQuery.index
- 为什么't jQuery.index()函数的行为与我所期望的一样
- JQuery: .index() returns -1
- jquery Index()工作不正常
- 当指定了选择器时,为什么jQuery.index()方法只适用于集合中的第一个元素