Как я могу найти конкретные слова в строке и добавить класс (Javascript) - PullRequest
0 голосов
/ 26 мая 2019

В элементе P есть текст.В этом тексте вы можете выбрать некоторые термины одним щелчком мыши.Но я хочу отобразить некоторые ранее выбранные слова в другом классе

Я хочу найти специальные слова в этом тексте и добавить класс.

Связанные части

var previosSelectedWords = 'aute,dolor,ex,sed,velit'; // previos selected words
var PSW = previosSelectedWords.split(',');

for (var i = 0; i < words.length; i++) {
    if (PSW[i] == words[i]) {
      wrapped.push('<span class="previosSelecteds">' + words[i] + '</span>');
    } else {
      wrapped.push('<span>' + words[i] + '</span>');
    }
  }

Но это не показывает предварительно выбранные слова.В чем может быть причина?

1 Ответ

0 голосов
/ 26 мая 2019

Проблема была в вашем цикле: вы использовали один и тот же цикл и один и тот же индекс для обоих массивов.

   // Loop through each word and wrap
for (var j = 0; j < PSW.length; j++) {
    for (var i = 0; i < words.length; i++) {
        if (PSW[j] == words[i]) {
            var prevS = '<span class="previosSelecteds">' + words[i] + '</span>';
            words[i] = prevS;
        } 
    }
}

for (var i = 0; i < words.length; i++) {
    if (!words[i].includes('previosSelecteds')) {
        wrapped.push('<span>' + words[i] + '</span>');
    }
    else {
        wrapped.push(words[i]);
    }
}
...