【发布时间】:2025-11-21 06:50:14
【问题描述】:
我需要获取共享类的元素的索引,它在容器内,代码示例:
<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 表示第一列,1st 表示第二列,0 表示第三列表示在另一个容器中,1st 表示第四列。
我需要知道它,因为当鼠标进入一列时,它会应用一些样式,每个容器的第一个和最后一个具有不同的样式。如果我有一个容器,知道它是没有问题的,但是当有多个容器时就会出现问题。
添加
我有一个将宽度增加 15% 的类。现在,如果它是每个容器的第一个,则留下left: 0%,如果是最后一个,则留下left: 85%;。但是,如果鼠标指向不同的列,它会执行代码添加 15% 并保持列居中。
页面中的一个容器的所有这些,作为一个魅力,但如果我添加第二个,第一个容器中最后一列的索引不是 column 类的最后一个索引,所以它不会't 添加left: 85%;,同样的情况也发生在第二个容器的第一个。
【问题讨论】:
-
你试过
$(this).index()吗? -
我不确定我没听错,但你想要这样的东西:jsfiddle.net/markai/s03sgrkh/1 吗?
-
根据您问题中的标记,您将获得
$(this).index()为0,1,0,1 -
$(this).index(), @Karl-AndréGagnon 对于每个选择器一直给我 0 -
@Cheshire 但它不应该:jsfiddle.net/1fa81bgs。您做错了什么或您的 html 看起来不像您显示的那样。
标签: javascript jquery indexing position