2015-01-30 9 views
5

Mam poniższy fragment kodu (currentUser klasa jest na innej pozycji listy w zależności od tego, kto przegląda stronę).jQuery `index()` odpowiednik w Vanilla JS

<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 

Witryna pracuję nad jQuery nie ładuje, więc chcę wiedzieć, który element listy ma klasę currentUser bez użycia jQuery

Mam obejrzał NodeList w narzędziach dev ale nie mają widziałem wszystko, czego mogę użyć, aby to uzyskać.

Jak można to osiągnąć?

+3

możliwe duplikat [jQuery .Index() w JavaScript] (http://stackoverflow.com/questions/13658021/jquery-index-in-javascript) – artm

+0

@ dziękuję za ten link. Rozglądałem się, ale najwyraźniej korzystałem z najlepszych wyszukiwanych haseł – ak85

Odpowiedz

11

Oto equivalant:

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