我正在尝试获取子元素ol
的索引,但在那里还有一些我不需要的h2
,因此在使用时会污染我的结果jQuery index()
函数。
所以我需要ol
的索引,就好像根本没有h2
一样。因此,如果您点击第3个ol
,则索引将为2
,而不是4
。
HTML看起来像这样:
<div>
<h2>Title</h2>
<ol><li>Item</li><li>Item</li><li>Item</li></ol>
<h2>Title</h2>
<ol><li>Item</li><li>Item</li><li>Item</li></ol>
<h2>Title</h2>
<ol><li>Item</li><li>Item</li><li>Item</li></ol>
<h2>Title</h2>
<ol><li>Item</li><li>Item</li><li>Item</li></ol>
</div>
和jQuery:
$('ol li').click(function () {
// get current index position of the ol
var itemIndex = $(this).parent('ol').index();
alert(itemIndex);
});
答案 0 :(得分:4)
如果我理解,请尝试此代码
var ol = $('ol');
ol.find('li').click(function () {
var parentOl = $(this).parent('ol');
// get current index position of the ol
var itemIndex = ol.index(parentOl);
alert(itemIndex);
});
示例jsbin:http://jsbin.com/enugex/1/edit
答案 1 :(得分:2)
修改jsfiddle
上的代码$('ol li').click(function (item,index) {
// get current index position of the ol
var itemIndex = $(this).parents('div').children('ol').index($(this).parent('ol'));
alert(itemIndex);
});
答案 2 :(得分:1)
试试这个
$(this).parent('ol').parent().children('ol').indexOf($(this).parent('ol'));