【发布时间】:2022-08-18 21:15:53
【问题描述】:
我有这段代码可以在 html 中查找和突出显示文本
const p = document.getElementById(\"content\");
function search() {
let input = document.getElementById(\"input\").value;
if (input !== \"\") {
let regExp = new RegExp(input, \"gi\");
p.innerHTML = (p.textContent).replace(regExp, \"<span style=\'background-color:yellow;\'>$&</span>\");
}
}
<nav class=\"navbar navbar-light bg-light justify-content-between\">
<div class=\"container-fluid\">
<h1 class=\"navbar-brand col-sm\">HTML Search Bar</h1>
<input class=\"form-control col-6\" type=\"text\" placeholder=\"Search\" aria-label=\"Search\" id=\"input\" onkeyup=\"search();\">
</div>
</nav>
<div id=\"content\">
Phasellus consequat congue neque ac consequat. Proin ultricies risus lorem, et scelerisque lectus imperdiet vitae. Vestibulum pretium eget mauris a interdum. Donec a justo nisl. Morbi vel ante eget lectus euismod auctor. Duis interdum lobortis eros at tincidunt. Proin id egestas lectus, eu varius enim. Aliquam elit arcu, dictum at cursus non, dignissim eleifend augue. Pellentesque iaculis quis felis eu ullamcorper. Duis at sollicitudin magna, ac gravida lectus. Phasellus consectetur neque tellus, a auctor lacus fringilla eget. Proin arcu orci, auctor eu diam vitae, ultricies tincidunt dolor. Nunc sit amet magna nisl. Vivamus at nisl mattis nulla aliquam semper.
<br><br><br>
Nullam convallis leo vel magna vulputate, sed tempor nibh elementum. Cras a dui vitae odio posuere interdum. Nam interdum consequat convallis. Fusce dolor ligula, sollicitudin sed massa sed, tempus imperdiet mi. Donec vel mauris nec velit volutpat dictum. Vivamus ut erat quam. Aliquam rhoncus elit venenatis imperdiet blandit. Proin feugiat accumsan nibh quis rutrum. Quisque consequat lacinia risus id vulputate. Etiam tristique quis odio sed consequat. In in justo pharetra, dignissim metus at, sollicitudin elit. Nullam vulputate turpis libero, quis sodales ante volutpat non.
</div>
我有三个问题:
- 搜索后 HTML 的格式被删除,搜索后换行符不起作用
- 搜索句号突出显示整个文本
- 删除搜索词后,一个字母仍然突出显示
标签: javascript html css