Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.09.2020, 11:07
Интересующийся
Отправить личное сообщение для vladik3333 Посмотреть профиль Найти все сообщения от vladik3333
 
Регистрация: 30.07.2020
Сообщений: 10

Определение количества элементов на странице с определенным текстом
Здравствуйте. имеется html:
<span class="test">текст1</span>
<span class="test">текст1</span>
<span class="test">текст2</span>
<span class="test">текст1</span>
<span class="test">текст2</span>
<span class="test">текст1</span>


Нужно определить количество элементов(все одинаковы), с определенным текстом.
Месяц назад я задавал похожий вопрос, только нужно было найти первый индекс с нужным текстом. Тогда уважаемый рони посоветовал мне этот код:
var str = 'текст2';
var index = [...document.querySelectorAll("span[class='test']"].findIndex(({textContent}) => textContent.includes(str));
alert(index);

Ну то есть выдает позицию первого совпавшего элемента. Теперь нужно тоже самое только общее количество элементов с таким текстом(в данном случае "текст2", то есть alert должен выводить 2). Я не очень понимаю как тут можно использовать length вместо findIndex, или что-то другое использовать
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2020, 12:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от vladik3333
findIndex
заменить на ...
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2020, 13:19
Интересующийся
Отправить личное сообщение для vladik3333 Посмотреть профиль Найти все сообщения от vladik3333
 
Регистрация: 30.07.2020
Сообщений: 10

На что? На length?
Пробовал, не работает
var str = 'текст2';
var index = [...document.querySelectorAll("span[class='test']")].length(({textContent}) => textContent.includes(str));
alert(index);

Uncaught TypeError: [(...document.querySelectorAll(...))].length is not a function
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2020, 13:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от vladik3333
length
Методы массивов выберите нужное.
Ответить с цитированием
  #5 (permalink)  
Старый 03.09.2020, 13:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

vladik3333,
...

<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<span class="test">текст1</span>
<span class="test">текст1</span>
<span class="test">текст2</span>
<span class="test">текст1</span>
<span class="test">текст2</span>
<span class="test">текст1</span>
<script>
let str = 'текст2';
let {length} = [...document.querySelectorAll("span.test")].filter(({textContent}) => textContent.includes(str));
alert(length);
</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 03.09.2020, 13:49
Интересующийся
Отправить личное сообщение для vladik3333 Посмотреть профиль Найти все сообщения от vladik3333
 
Регистрация: 30.07.2020
Сообщений: 10

ясно спасибо
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы с отображением элементов на странице mozyr Javascript под браузер 17 13.01.2012 02:34
Полная загрузка всех элементов на странице Serpanok jQuery 3 10.11.2011 20:29
Обход всех элементов на странице. lexnext1 Элементы интерфейса 0 08.11.2011 12:58
Создание элементов на странице. 0931454574 AJAX и COMET 2 14.03.2011 20:55
DOM, определение стиля элементов Maximor17 Общие вопросы Javascript 3 04.11.2010 16:24