如何使用jQuery获取索引,特定类元素的位置编号
How to get index, position number of element with certain class with jQuery
我有这个标记
<div class="parent">
<div class="one"></div>
<div class="two"></div>
<div class="one"></div>
<div class="two"></div>
</div>
我的问题是:如何获得类two
元素的"索引"数。我不要求在parent
div中元素的常规索引数。我需要知道,当我点击第一个元素与类one
,下一个two
元素有0索引或它的第一个元素在这个列表与类two
,等等。
我已经尝试过index()
方法和eq()
,并且总是我在parent
div中有此元素的真实索引号。我希望这是清楚的,谢谢帮助。
您需要在具有samecclass的元素集合中查找元素索引:
$('.parent > div').click(function(){
var index;
if($(this).is('.one'))
index = $('.parent > .one').index(this);
else
index = $('.parent > .two').index(this);
});
这应该是获得您正在寻找的索引的更快方法。
它不检索所有匹配项,而只是计算DOM中先前叶子中相同类的元素数量。
此外,它允许有多个<div class="parent">
,仍然工作
$('.parent div').click(function() {
// Retrieve clicked element class (one, two)
var elClass = $(this).attr('class');
// Retrieve all previous elements that have the same class
// and count them
var prevElmts = $(this).prevAll('.' + elClass),
numPrevElements = prevElmts.length;
console.log(numPrevElements);
})
使用jquery可以找到具有相同类名或标签名的元素的索引
$(".class_name").on("event_name", function() {
var index=($(this).index());
console.log('index : ',index);
});
这可能对你有用。
var p = $('.parent'),
current = p.filter('.two'),
index = p.index(current);
相关文章:
- 使用javascript查找元素位置的最快方法
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- 另一个元素JAVAscript中的元素位置
- CSS.滚动后元素位置发生变化
- JQuery Mobile单击事件不起作用,具体取决于HTML中的元素位置
- 正在查找表行中的td元素位置
- jquery追加元素位置始终为0
- 如何通过JS移动元素位置而不闪烁
- 当按钮点击更改元素位置时,Javascript
- 在事件发生时获取元素位置的当前页面 URL,并将该 URL 输出到另一个页面上
- 更改 JS/D3 页上的元素位置
- 字典中由元素:位置对组成的移动元素
- 观察元素位置并对 AngularJS 中的更改做出反应
- JavaScript 设置宽度尺寸会更改元素位置
- Angularjs 获取元素位置
- 按类名获取元素位置
- 从数组中获取元素位置
- 如何在更改选择元素宽度时固定所有元素位置
- 破解以在滚动条出现时保持水平元素位置
- 将第一个数组中的元素位置与另一个数组进行比较