提问人:Guar Dian 提问时间:11/2/2023 最后编辑:Guar Dian 更新时间:11/2/2023 访问量:56
如何使用 Javascript 突出显示文本表单输入搜索
how to highlight text form input search with Javascript
问:
我有一个带有关键字搜索的 todoList,如何确保在输入关键字时,下面的内容会突出显示?
function keysSearch() {
const inputSearchValue = inputSearch.value.trim().toUpperCase();
const loadData = loadLocalStorageData();
const filterSearch = loadData.filter(function (value) {
if (inputSearchValue) {
return value.task.toUpperCase().indexOf(inputSearchValue) !== -1
} else {
return loadData
}
});
render(filterSearch);
}
答:
1赞
Afzal K.
11/2/2023
#1
可以使用 innerHTML 属性在匹配的文本周围添加 HTML 标记。还可以使用 replace 方法将匹配的文本替换为包装在具有特定类的标记中的相同文本。
function keysSearch() {
const inputSearchValue = inputSearch.value.trim().toUpperCase();
const loadData = loadLocalStorageData();
const contentDiv = document.getElementById("content");
const filterSearch = loadData.filter(function (value) {
if (inputSearchValue) {
value.task = value.task.replace(new RegExp(inputSearchValue, "gi"), (match) => `<span class="highlight">${match}</span>`)
return value.task.toUpperCase().indexOf(inputSearchValue) !== -1
} else {
return loadData
}
});
contentDiv.innerHTML = render(filterSearch);
}
您还需要为突出显示的文本添加一个 CSS 类
.highlight{
background-color: yellow;
}
评论
0赞
Guar Dian
11/2/2023
哦,哇,它起作用了,我想了想,但不知道怎么写,非常感谢。
下一个:突出显示当前数字
评论
<mark>te</mark>st