2015-01-30 14 views
5

Tôi có đoạn mã bên dưới (currentUser lớp nằm trên một mục danh sách khác tùy thuộc vào người đang xem trang).Tương đương jQuery `index()` trong 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 

Các trang web tôi đang làm việc trên không tải jQuery, vì vậy tôi muốn biết danh sách mục có lớp currentUser mà không sử dụng jQuery

Tôi đã kiểm tra NodeList trong các công cụ dev nhưng có không thấy bất cứ điều gì mà tôi có thể sử dụng để có được điều này.

Làm cách nào để đạt được điều này?

+3

thể trùng lặp của [jQuery .index() trong javascript] (http://stackoverflow.com/questions/13658021/jquery-index-in-javascript) – artm

+0

@ artm cảm ơn cho liên kết đó. Tôi đã có một cái nhìn xung quanh nhưng rõ ràng là sử dụng các cụm từ tìm kiếm tốt nhất – ak85

Trả lời

11

Đây là equivalant:

var curUser = document.getElementsByClassName("currentUser")[0]; 
var curLth = [].slice.call(curUser.parentNode.children).indexOf(curUser); 
console.log(curLth); //outputs 2 
Các vấn đề liên quan