我需要获取共享一个类的元素的索引,它在容器内部,代码示例:
<div id="mycontainer">
<div class="column">Text here</div>
<div class="column">Text here</div>
<div class="column">Text here</div>
<div class="column">Text here</div>
</div>
<div id="mycontainer2">
<div class="column">Text here</div>
<div class="column">Text here</div>
<div class="column">Text here</div>
</div>
我读了.index()
的jQuery API,你使用它:$("selector").index(this);
这一切都很好。
现在,如果我不知道.column
元素的长度在某个点停止计算索引,我如何知道包含它们的每个容器的第一个索引?我的意思是,第一列为0,第二列为第1,第三列为0,另一个容器为第1列,第四列为第1列。
我需要知道它,因为当鼠标进入某列时,它会应用一些样式,每个容器的第一个和最后一个具有不同的样式。如果我有一个容器,知道它就没问题,但是当有多个容器时会出现问题。
添加
我的课程增加了15%的宽度。现在,如果它是每个容器中的第一个容器,它会移动left: 0%
,如果它是最后一个容器,则它是left: 85%;
。但是,如果鼠标栏指向不同的列,它会将代码添加15%并使列保持居中。
页面中的一个容器的所有这些都作为魅力,但如果我添加第二个容器,第一个容器中最后一列的索引不是column
类的最后一个索引,所以它没有添加left: 85%;
,第二个容器的第一个也是如此。
答案 0 :(得分:1)
如.index()
doc中所述:
如果没有参数传递给.index()方法,则返回值是一个整数,表示jQuery对象中第一个元素相对于其兄弟元素的位置。
所以简单地做$(this).index()
会给你的元素索引ammoung它的兄弟姐妹。换句话说,它的孩子位置。