1

我有一个这个函数来计算索引号,但我需要从它的父级计算它,所以我的索引结果将是 0,1,2。

我怎样才能做到这一点?

我的功能://

​html:

<div id="parent">
    <div class="child1">
        <h3>title one</h3>
    </div>
    <div class="child1">
        <h3>title one</h3>
    </div>
    <div class="child1">
        <h3>title one</h3>
    </div>
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

查询:

​$('h3','#parent')​​​​​​​​​.click(function(){
    alert($(this).index('#parent'))            
})​
4

3 回答 3

2

改变你的功能

var h3p = $('h3','#parent');
h3p.click(function(){
    alert(h3p.index($(this)));           
});

小提琴示例:http: //jsfiddle.net/HwySz/

于 2012-04-26T14:01:28.693 回答
0

文档

如果在元素集合上调用 .index() 并传入 DOM 元素或 jQuery 对象,则 .index() 返回一个整数,指示传递的元素相对于原​​始集合的位置。

考虑到这一点,你想要这个:

var $h3s = ​$('#parent h3')​​​​​​​​​
$h3s.click(function(){
    alert($h3s.index($(this)));        
})​;
于 2012-04-26T14:03:12.263 回答
0

这是一个有效的 jsFiddle:http: //jsfiddle.net/ZcBBY/

我已经删除了 #parent 的 eventListener 并仅在 h3 上绑定它。查找包含 div 的索引是通过$(this).parent().index()

整个区块:

$('h3').click(function(){
    alert($(this).parent().index())            
})​
于 2012-04-26T14:05:36.937 回答