Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Склонение слов в зависимости от числительных в JavaScript

#javascript #jquery


Здравтвуйте, есть вот такой скрипт, который при открытии страницы в блоке div добавляет
слово с правильным склонением к возрасту (22 года). 

22
var count = document.getElementById('one').innerHTML; function declination(number, titles) { cases = [2, 0, 1, 1, 1, 2]; return titles[ (number%100>4 && number%100<20)? 2:cases[(number%10<5)?number%10:5] ]; } title = declination(count, [' год', ' года', ' лет']); var age = count + title; document.getElementById('one').innerHTML = age; Подскажите, как мне сделать тоже самое только без id,- прогнать несколько значений сразу. Например,- если у меня будут сразу 5-ть div с классом age-count, которые будут проходить через функцию при открытии страницы. Я пробовал сделать с помощью цикла и Document.getElementsByClassName() но что-то не получается у меня.


Ответы

Ответ 1



querySelectorAll,- чтобы получить все элементы и forEach,- чтобы перебрать их. const elements = document.querySelectorAll('.age-count') elements.forEach(function (el) { const count = el.textContent const title = declination(count, [' год', ' года', ' лет']) const age = count + title el.textContent = age }) function declination(number, titles) { cases = [2, 0, 1, 1, 1, 2]; return titles[ (number%100>4 && number%100<20)? 2:cases[(number%10<5)?number%10:5] ]; }
22
5
17


Комментариев нет:

Отправить комментарий