嗨我有一系列带有多个不同类的标签。单击某个span时,我想返回跨度类的索引。所以不是跨度索引。
这是一个示例html:
<span class='spantype1 party'>text1</span>
<span class='spantype2 party'>text2</span>
<span class='spantype1 party'>text3</span>
所以如果我点击text3我想要返回1而不是2.如果我点击text1我想要返回0.当然如果我点击text2我想要返回0。
来自here的答案不起作用,因为索引始终返回为-1(因为有多个类),请参阅my example jsfiddle:
$( "span" ).click(function() {
var index = $('.' + $(this).attr('class')).index($(this));
alert(index);
});
答案 0 :(得分:1)
我使用过滤器来获取您感兴趣的课程,并根据该内容进行搜索:
$("span").click(function() {
var spanType = $.grep(this.classList, function (className) {
return /^spantype/.test(className);
})[0];
var index = $('.' + spanType).index($(this));
alert(index);
});
我上面使用了classList
,但为了获得更好的支持(请参阅caniuse.com),您可能会使用className
代替:
$("span").click(function() {
var spanType = $.grep(this.className.split(/\s+/), function (className) {
return /^spantype/.test(className);
})[0];
var index = $('.' + spanType).index($(this));
alert(index);
});