Javascript 如何向textarea中匹配的数组项添加突出显示背景

Javascript 如何向textarea中匹配的数组项添加突出显示背景,javascript,arrays,list,match,Javascript,Arrays,List,Match,我试图突出显示用户搜索中匹配的名称。如果用户搜索在数组中,则匹配的数组项应在文本区域中突出显示。如何做到这一点? 这是我到目前为止所拥有的 函数搜索(){ var list=$('#textArea').val(); var listArr=list.split(','); $('#textArea').html(listArr); var userSearch=$('#nameSearch').val(); var i=0; while(listArr[i]){ var res=listAr

我试图突出显示用户搜索中匹配的名称。如果用户搜索在数组中,则匹配的数组项应在文本区域中突出显示。如何做到这一点? 这是我到目前为止所拥有的

函数搜索(){
var list=$('#textArea').val();
var listArr=list.split(',');
$('#textArea').html(listArr);
var userSearch=$('#nameSearch').val();
var i=0;
while(listArr[i]){
var res=listArr[i].indexOf(userSearch);
如果(分辨率!=-1){
log(userSearch+'在列表中');
//在文本区域突出显示匹配的名称
}
i++;
}
}

乔,莫妮卡,哈利,汉娜

按名称搜索要匹配第一次出现的内容,您需要先聚焦
文本区域,然后使用

另外,由于
setSelectionRange
不是jQuery方法,因此您需要通过0索引访问html元素,例如
$txt[0]。setSelectionRange

试着这样做:

函数搜索(){
var$txt=$(“#textArea”)
$txt.focus()
var list=$txt.val();
var search=$('#nameSearch').val();
var index=list.indexOf(搜索);
$txt[0].setSelectionRange(索引,索引+搜索.length);
}

乔,莫妮卡,哈利,汉娜

按名称搜索
只会突出显示第一个匹配文本,而不是全部,对:))他要求突出显示全部吗?我一定错过了,请在这里查看: