如何找到包含特定文本的 li 的索引值


How to find the index value of a li that has a particular text in it ?

<div id="vertical-tabs">
        <ul class="tabs">
            <li id="tbli" ><a href="bid=32&bname=City+Cinema&cid=11" target="__blank">City Cinema</a></li>
            <li id="tbli" ><a href="bid=33&bname=Happy+Land&cid=11" target="__blank">Happy Land</a></li>
            <li id="tbli" ><a href="bid=34&bname=I+Race&cid=11" target="__blank">I Race</a></li>
        </ul>
</div>

以上是我的html。我需要知道包含文本的 li 的索引值 快乐的土地 .这样我就可以在我的其他函数中使用它 tabClick($("#vertical-tabs li:eq(1)"));其中 eq(1) 是索引值。我需要动态更改其中的文本。

你可以

使用 .index()

$('li:contains(Happy Land)').index()

演示:小提琴

更准确的版本将是

var index = $('.tabs li').filter(function(){
    return $.trim($(this).text()) == 'Happy Land'
}).index();
console.log('index', index)

演示:小提琴

尝试使用类似.index()

$('.tabs li a').each(function(){
     if($(this).text() == "Happy Land") {
         alert($(this).index());
     }
});

并确保Ids是独一无二的

或者你也可以尝试:contains比如

var indx = $('.tabs li a:contains("Happy Lane")').index()
alert(indx);