我的HTML如下。
<div class="col-md-12 line">
<span class="d1 available " seatid="515" seatname="A1"></span>
<span class="d1 available " seatid="516" seatname="A2"></span>
<span class="d1 available " seatid="555" seatname="A3"></span>
<span class="d1 available " seatid="556" seatname="A4"></span>
<span></span>
<span class="d1 available " seatid="517" seatname="A5"></span>
<span class="d1 available " seatid="518" seatname="A6"></span>
</div>
当我单击跨度时,我想获得跨度的索引与所有其他具有相同类的跨度相比,
意思是..
单击上一个跨度之前,我需要索引为4
这是我现在要使用的代码。
var selector = $(this);
var selectIndex = selector.index();
最佳答案
您应该将当前元素传递给index()以从所有当前可用范围中获取其索引
因此您可以使用$("span.available").index($(this))
获取索引
PS:避免直接在html标记上使用属性,就必须在座位ID和座位名称=>(data-seatid,data-seatname)中都使用data-,您可以通过在其中使用dataset或data()来访问它们jQuery的
见下面的片段
$(function() {
$("span.available").on("click",function(){
console.log("index : " + $("span.available").index($(this)) + " seatid: "+$(this).data('seatid') );
})
})
span {
display:block;
}
.as-console-wrapper {
max-height:75px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-md-12 line">
<span class="d1 available " data-seatid="515" data-seatname="A1">A1</span>
<span class="d1 available " data-seatid="516" data-seatname="A2">A2</span>
<span class="d1 available " data-seatid="555" data-seatname="A3">A3</span>
<span class="d1 available " data-seatid="556" data-seatname="A4">A4</span>
<span>empty</span>
<span class="d1 available " data-seatid="517" data-seatname="A5">A5</span>
<span class="d1 available " data-seatid="518" data-seatname="A6">A6</span>
</div>
关于javascript - 根据可用的类别获取跨度索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48238808/