Кого будем перекрашивать, и в какие цвета:
const className = 'some-link';
const colors = {
En: 'red',
Ru: 'green',
De: 'blue',
};
Перекрашиваем текст в случае точного совпадения:
for (const n of document.getElementsByClassName(className)) {
n.style.color = colors[n.textContent];
}
Или, смотрим наличие подстроки, регистр не важен:
document.querySelectorAll(`.${className}`).forEach(function(n) {
n.style.color = this.find(m => m[0].test(n.innerText))?.[1];
}, Object.entries(colors).map(n => [ RegExp(n[0], 'i'), n[1] ]));
Можно и без регулярных выражений:
- RegExp(n[0], 'i')
+ n[0].toLowerCase()
- m[0].test(n.innerText)
+ n.innerText.toLowerCase().includes(m[0])