在Vanilla JS中jQuery`index()`等效

ak8*_*k85 6 javascript jquery dom

我有以下代码片段(currentUser类在不同的列表项上,具体取决于谁正在查看页面).

<ul>
    <li>user 1</li>
    <li>user 2</li>
    <li class="currentUser">user 3</li>
    <li>user 4</li>
</ul>

var curLth = jQuery('.currentUser').index();
console.log(curLth); //outputs 2
Run Code Online (Sandbox Code Playgroud)

我正在处理的网站没有加载jQuery,所以我想知道哪个列表项currentUser没有使用jQuery

我已经NodeList在开发工具中检查了但是没有看到任何我可以用来获得它的东西.

怎么能实现这一目标?

Vad*_*dim 13

这是等价物:

var curUser = document.getElementsByClassName("currentUser")[0];
var curLth = [].slice.call(curUser.parentNode.children).indexOf(curUser);
console.log(curLth); //outputs 2
Run Code Online (Sandbox Code Playgroud)

  • 现在我们可以使用`Array.from(curUser.parentNode.children).indexOf(curUser);` (5认同)