确定子元素相对于其父元素的索引的最简单方法
Easiest way to determine the index of a child element relative to its parent?
我有一些HTML标记,类似于:
<div id="parentElement">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
我用jQuery给每个子元素附加一个事件处理程序:
$( "div.child" ).on( "click", someFunction );
是否有一个简单的方法让我找出哪个子元素被触发/点击从事件对象?例如,我希望能够确定用户是否点击了第三个子<div>
,而不是另一个子<div>
。
使用 index()
方法获取基于其兄弟姐妹的索引,并且在处理程序内部this
指的是被单击元素的dom对象。
$("div.child").on("click", function() {
console.log($(this).index())
});
$("div.child").on("click", function() {
console.log('Clicked div' + ($(this).index() + 1))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parentElement">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
</div>
可以使用事件对象的 currentttarget 属性,或者使用jQuery的 index()函数。
$( "div.child" ).on( "click", function(event){
console.log(event.currentTarget);
} );
$("div.child").on("click", function(e) {
console.log(e.currentTarget);
console.log($(this).index());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parentElement">
<div class="child">First</div>
<div class="child">Second</div>
<div class="child">Third</div>
<div class="child">Fourth</div>
</div>
在被点击的元素上使用jQuery的.index()
函数
$( "div.child" ).on( "click", function(e){
alert($(this).index());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parentElement">
<div class="child">Test1</div>
<div class="child">Test2</div>
<div class="child">Test3</div>
<div class="child">Test4</div>
</div>
您可以使用jquery index查找子
的索引$( "div.child" ).on( "click", function(event){
console.log($(this).index())
} );
JSFIDDLE
相关文章:
- 如何索引jquery中的每个元素
- JavaScript DOM:在容器中查找元素索引
- 通过javascript中的元素索引访问eventListener中的元素
- 将页面元素索引到 JSON 对象?或者jQuery选择器它每次
- jQuery将相同的类添加到两个不同容器中的同一元素索引中
- 获取小元素索引直到数组长度
- jQuery获取元素索引,尽管包装器/父元素
- 更改数组中某些元素(索引)的顺序
- 访问具有公共类名的元素数组中的元素索引
- 访问循环的内部的ES6数组元素索引
- 列表类元素(索引).渐变(某些速度)不起作用
- javascript中的表单元素索引,用于jquery.change函数
- 获取文本块中的元素索引
- 用主干JS .get模型事件连接元素索引
- 从81个元素索引的数组中获取行和列值
- 如何使用javascript获得元素索引
- 使用类和子类获取元素索引
- Mootools从父元素获取子元素索引
- 如何在Javascript中获得一组固定元素的元素索引
- 使用jQuery更改列表元素索引