@Almazmr

Как создать счетчик селектора?

Возможно вопрос был задан неправильно.
Кратко, на сайте необходимо найти количество выигранных матчей для команды Уфы, в другой раз будет другая команда. Только вот изучаю методы js и возникли трудности
1) с созданием счетчика для селектора по переберу команд
2) как можно парсить статистику выигранных матчей для текущей команды.
var gorod = 'Уфа' 
for (var i = 0; 15; i++) {
	var listTable = window.document.querySelectorAll('#stat_data > div.tournament-tabs.rnpqq.js-tournament-tabs > div._light.mghhp.js-tournament-tab-content.tournament-tabs__content._active.tabs-content > div > table > tbody > tr')
	var komanda = listTable[i].querySelector('table-item__name')
	
	if komanda == gorod {
		var win = //выиграно матчей		
	}
}

5c534bbad1140941563357.png
  • Вопрос задан
  • 134 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
function getWinCount(team) {
  const el = Array
    .from(document.querySelectorAll('.table-item__name'))
    .find(n => n.textContent === team);

  return el ? +el.closest('tr').children[3].textContent : null;
}


const wins = getWinCount('Уфа');


UPD. Вынесено из комментариев:

Мой браузер не поддерживает ES-2015

На будущее: о таких вещах следует говорить сразу.

Будет работать в IE11:

function getWinCount(team) {
  var el = null;

  [].concat.apply([], document.querySelectorAll('.table-item__name')).forEach(function(n) {
    if (!el && n.textContent === team) {
      el = n;
    }
  });

  if (!el) {
    return null;
  }

  do {
    el = el.parentNode;
  } while (el.tagName !== 'TR');

  return +el.children[3].textContent;
}
Ответ написан
Stalker_RED
@Stalker_RED
let search = 'Уфа',
    commands = document.querySelectorAll('.table-item__name'),
    command = [...commands].find(x => x.textContent === search),
    row = command.closest('tr'),
    cells = row.querySelectorAll('td'),
    result = cells[3].textContent


То-же самое более компактно:
var search = 'Уфа',
    result = Array.from(document.querySelectorAll('.table-item__name'))
      .find(x => x.textContent === search)
      .closest('tr')
      .querySelectorAll('td')[3].textContent
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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