javascript - 为什么我得到标签的索引而不是类的索引
问题描述
当我在元素类的点击函数中使用 .index() 时,我得到标签的索引而不是类的索引。在这里,当我单击具有类 .mobapp-right 的元素时,我得到(1 和 4)而不是(0 和 1)。
$(document).ready(function(){
$('.mobapp-right').click(function(){
alert($(this).index());
});
$('.mobapp-left').click(function(){
alert($(this).index());
});
});
.mobapp-right{
cursor: pointer;
}
.mobapp-left{
cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<ul >
<li> </li>
<li></li>
<li></li>
<li> </li>
</ul>
<h1 class="mobapp-right"> right </h1>
<h1 class="mobapp-left"> left </h1>
<ul >
<li></li>
<li></li>
<li></li>
</ul>
<h1 class="mobapp-right"> right </h1>
<h1 class="mobapp-left"> left </h1>
解决方案
您可以使用.index(element)来实现它。
$('.mobapp-right').click(function(){
var index = $(".mobapp-right").index(this);
alert("index is: " + index);
});
$('.mobapp-left').click(function(){
var index = $(".mobapp-left").index(this);
alert("index is: " + index);
});
.mobapp-right{
cursor: pointer;
}
.mobapp-left{
cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<ul >
<li> </li>
<li></li>
<li></li>
<li> </li>
</ul>
<h1 class="mobapp-right"> right </h1>
<h1 class="mobapp-left"> left </h1>
<ul >
<li></li>
<li></li>
<li></li>
</ul>
<h1 class="mobapp-right"> right </h1>
<h1 class="mobapp-left"> left </h1>
推荐阅读
- tomcat9 - 无法访问 localhost:8080/admin 上的 tomcat 9 管理员添加 tomcat 用户
- python - LPC18S37 - AES 引擎的加密方式与 Python 库不同
- symfony - 如何在 sylius rest api 中序列化实体?
- highcharts - 调整浏览器大小时,DataLabel 隐藏在 highcharts 蜘蛛网上
- react-native - JitsiMeet 转换为 BigBlueButton
- sql-server - 在 where 条件下使用包含列名的列值
- docker - GCP 中的 Cloud Run 服务显示“Container failed to start and then listen on the port defined by PORT environment variable” Codeigniter 4
- linux - gunzip 等待 wget
- node.js - 使用 Google Docs API 检索 namedRange 中的文本
- java - 在动态更新的表中捕获更改