Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS数组突出显示特定类中的单词_Javascript_Arrays_Highlight_Word - Fatal编程技术网

Javascript 使用JS数组突出显示特定类中的单词

Javascript 使用JS数组突出显示特定类中的单词,javascript,arrays,highlight,word,Javascript,Arrays,Highlight,Word,给定特定类的div,我想突出显示包含关键字的JS数组中存在的单词 例如: var cars = ["hello", "when", "why"]; <p class="highlighted">How are you when</p> <p>How are you</p> var cars=[“你好”、“什么时候”、“为什么”]; 当您 你好吗 我试过了,但它突出显示了整个页面上的文字,但我想 仅限特定类别 使用document.g

给定特定类的div,我想突出显示包含关键字的JS数组中存在的单词

例如:

  var cars = ["hello", "when", "why"];
  <p class="highlighted">How are you when</p>
  <p>How are you</p>
var cars=[“你好”、“什么时候”、“为什么”];

当您

你好吗


我试过了,但它突出显示了整个页面上的文字,但我想 仅限特定类别

使用
document.getElementsByClassName(“highlighed”)
,这将返回仅具有此特定类的htmlcollection

下面的代码段可能很有用。请添加注释以进行说明

var cars=[“你好”、“什么时候”、“为什么”、“是”];
//获取具有此特定类的dom
var classes=document.getElementsByClassName(“highlighed”);
//将集合转换为数组以使用数组方法
//forEach是数组方法
Array.prototype.slice.call(document.getElementsByClassName(“highlighed”)).forEach(函数(项){
//获取innerHTML并删除空白,然后从中创建一个数组
var getText=item.innerHTML.trim().split(“”);
//迭代这个新创建的数组
forEach(函数(项2,索引){
//检查是否有任何文本与cars数组匹配
if(车辆索引(项目2)>-1){
//用dom元素替换新创建的数组中的元素
getText[index]=“”+item2+“”
}
});
//使用join创建字符串数组
item.innerHTML=getText.join(“”);
})
.lightText{
颜色:绿色;
}

你什么时候


你好吗

我已经试过了,但它突出显示了整个页面上的单词,但我只想在特定的课堂上