首页 > 解决方案 > 如何在字符串中找到特定单词并添加类(Javascript)

问题描述

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>');
    }
  }

但它不显示预先选择的单词。可能是什么原因?

标签: javascriptjqueryhtmlsplit

解决方案


问题是你的循环:你对两个数组使用了相同的循环和相同的索引。

   // 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]);
    }
}

推荐阅读