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 必须显示 2 而不是 3。如何做到这一点?

这是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").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').index(this)

检查:http: //jsfiddle.net/NDySY/18/

于 2013-07-25T05:42:38.747 回答
0

工作演示http://jsfiddle.net/cse_tushar/NDySY/21/

div.post仅表示具有类的 divpost

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

类点击事件获取索引如下:

var index=$('.post').index(this);
于 2013-07-25T05:46:11.443 回答
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 回答