我有一些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>
之一。
答案 0 :(得分:1)
您可以使用事件对象的 currentTarget 属性或使用 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());
});
&#13;
<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>
&#13;
答案 1 :(得分:1)
使用 index()
方法根据其兄弟信息获取索引,并在处理程序sudo chown -R YOUR-USER:YOUR-GROUP drupal-root-folder/
内引用被点击元素的dom对象。
this
$("div.child").on("click", function() {
console.log($(this).index())
});
$("div.child").on("click", function() {
console.log('Clicked div' + ($(this).index() + 1))
});
答案 2 :(得分:0)
在点击的元素上使用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>
答案 3 :(得分:0)