我有相同类的div,但每个3都包含在父div中。我无法按照我想要的方式获取索引。对不起,任何人都可以帮助我将索引作为0到8之间的数字..当我点击任何元素时?尽管有父元素。
以下是我测试的完整代码。
<div class="more-content">
<div class="post">post 1</div>
<div class="post">post 2</div>
<div class="post">post 3</div>
</div>
<div class="more-content">
<div class="post">post 4</div>
<div class="post">post 5</div>
<div class="post">post 6</div>
</div>
<div class="more-content">
<div class="post">post 7</div>
<div class="post">post 8</div>
<div class="post">post 9</div>
</div>
<script type="text/javascript">
$(function() {
// navigate posts with next/prev buttons
$(".post").click(function(){
alert($(this).index());
});
});
</script>
如果我点击我得到索引0,1,2 ..我认为因为每3个项目都包裹在父项中?我是jquery的新手,任何帮助表示赞赏。我需要的是获得相同类的帖子的索引..说帖子6 =索引5 ..等等
UPDATE 如果被点击的元素是post div中的子锚点而不是post div,那么如何获得相同的结果呢?
答案 0 :(得分:8)
以index
为参数尝试this
方法:
$(".post").click(function() {
alert($(".post").index(this));
});
答案 1 :(得分:1)
var posts = $('.post').click(function(){
alert(posts.index(this));
});
答案 2 :(得分:0)
你可以遍历标记为post的所有元素并递增一个计数器,直到找到你正在寻找的对象,如下所示:
$(".post").click(function() {
var counter = 0;
var that = this;
$(".post").each(function() {
if(that == this) break;
counter++;
}
// counter now equals the index of the post element out of all posts on the page
});