0

ここに私のhtmlコードがあります:

<div class="more-content">
    <input type="text" />
    <div class="post">post 1</div>
    <div class="post">post 2</div>
    <div class="post">post 3</div>
</div>

ここにjqueryがあります:

$(".post").click(function () {
    var index = $(this).index();
    alert(index);
});

メイン div 内の div のインデックスを取得しようとしているときに、入力テキストを考慮したくありません。したがって、投稿 3 をクリックすると、3 ではなく 2 が表示される必要があります。

ここにjsfiddleがありますhttp://jsfiddle.net/NDySY/16/

4

6 に答える 6

3

index()次の方法で使用できます。

$(".post").click(function() {
    var index = $(this).index('.post');
    alert(index);
});

フィドル

于 2013-07-25T05:41:22.697 に答える
0

以下を使用できます。$('.post').index(this)

チェック: http: //jsfiddle.net/NDySY/18/

于 2013-07-25T05:42:38.747 に答える
0

ワーキングデモhttp://jsfiddle.net/cse_tushar/NDySY/21/

div.postクラスを持つdivのみを意味しますpost

$("div.post").click(function() {
    var index = $(this).index('div.post');
    alert(index);
});
于 2013-07-25T05:43:20.900 に答える
0

このようなことができます。

$(".post").click(function() {

    var eventCreator=this;

    $('.post').each(function(index,value){

        var currentDiv=value;

        if(eventCreator==currentDiv)
        {
        alert(index);
            //Do what ever you want to do with index
        }


    });

});

ここでJS Fiddleを確認してください

于 2013-07-25T05:48:26.817 に答える
0

投稿の数を取得してから、インデックスで減算する必要があります。インデックス関数には、相対的なセレクターのパラメーターも必要です。

$(".post").click(function() {
    var index = $(this).index('.post');
    var comp = $('.post').length - index;

    alert(comp);

});

http://jsfiddle.net/NDySY/24/

于 2013-07-25T05:46:56.783 に答える