0

次のような構造がある場合:

<body>
 <div data-role="page" data-dom-cache="true" id="foo">...</div>
 <div data-role="page" data-dom-cache="true" id="bar">...</div>
 <div data-role="page" data-dom-cache="true" id="baz">...</div>
</body>

この一連の div でバーの位置を取得するにはどうすればよいですか? この場合、2 を返す必要があります。

これを使用して、jquery mobile で現在のページのインデックスを取得しようとしています。今、私はやっています:

$( '#<%=@page_id%>' ).bind( 'pageshow',function(event){
    alert('current page = '+$.mobile.activePage.index())
})

しかし、これは私に最初のページのインデックス= 1、2番目のページのインデックス= 3を示しており、そこから4,5まで直線的に増加しています...

4

1 に答える 1

4

使用index():

var index = $('#bar').index();

兄弟要素間の要素のインデックス位置を返すか、セレクターを渡すことができます。

var index = $('#bar').index(selector);

ここで、jQuery は、index に$('#bar')渡されたセレクターによって返された一致した要素の中のインデックス位置を返します。

JavaScript はゼロベースの配列で機能することに注意してください。したがって、上記(最初の)は1(not 2)を返します。必要がある場合は2、明示的に覚えておいてください+ 1

var index = $('#bar').index() + 1;

ただし、そのindex変数を (おそらく とともにeq()) 使用する場合は、その追加を調整することを忘れないでください。そうしないと、予期せず壊れる可能性があります。または、少なくとも、別の方法で動作します。

参考文献:

于 2012-04-26T18:15:57.997 に答える