查找某个类前缀的元素的Dom节点索引

时间:2014-04-12 12:57:03

标签: javascript jquery dom

我有一系列不同类的标签。单击某个span时,我想返回跨度类的索引。所以不是跨度索引。

这是一个示例html:

<span class='spantype1_a'>text1</span>
<span class='spantype2_b'>text2</span>
<span class='spantype1_c'>text3</span>

因此,如果我点击text3,我想返回1而不是2。

来自here的答案不起作用,因为每个范围都有一个唯一的类,所以返回0,请参阅the jsfiddle here

$( "span" ).click(function() {
    var index = $('.' + $(this).attr('class')).index($(this));
    alert(index);
});

此外,以下代码返回-1,请参阅the example jsfiddle here

$( "span" ).click(function() {
    var aclass = $(this).attr('class');
    var back = aclass.lastIndexOf("_");
    var classtosearch = aclass.substring(0, back);
    alert($('.' + 'span[class^="' + classtosearch + '"]').index($(this)));
}

1 个答案:

答案 0 :(得分:0)

解决方案是改变:

alert($('.' + 'span[class^="' + classtosearch + '"]').index($(this)));

为:

alert($('span[class^="' + classtosearch + '"]').index($(this)));

请参阅here