@Banny_Boom

Как узнать индекс элемента зная значение?

Получил список элементов(querySelectorAll):
<li>one</li>
<li class>two</li> <!-- class пустой, потому что все классы этому элементу были удалены !-->
<li>three</li>


и есть 'two

Как узнать индекс элемента содержит это - 'two?

как-то так пробовал:
var but = document.querySelectorAll('ul li'),
    activity = '<li class>two</li>';
console.log(but.indexOf(activity);


jsfiddle.net/cxdva9w4
  • Вопрос задан
  • 1239 просмотров
Решения вопроса 3
hahenty
@hahenty
('•')
return Array.prototype.map.call(
  document.querySelectorAll('ul li'),
  function(a) { return a.innerHTML; }
).indexOf('two');
Ответ написан
var ul = document.querySelector('ul'),
    elem = ul.querySelector('[class]');
console.log([].indexOf.call(ul.children, elem));

jsfiddle.net/yurzui/cxdva9w4/1
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Результат выполнения querySelectorAll — не массив, у него нет метода indexOf. И уж тем более он не содержит строк.
Надо перебирать все элементы, смотреть их textContent и сравнивать с искомым. Как-нибудь, например, так: jsfiddle.net/xf502cwo (не оптимальный вариант).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы