如何在javascript中突出显示找到的文本
How to highlight the found text in javascript
我正在尝试使用javascript实现在html文档中查找和替换文本。更换部件工作正常。但我想强调将在 html 文档中替换的文本(就像我们在 chrome 中使用 ctrl + f 时一样)。到目前为止,我的代码是
<form name ="rep" class="replace" id="repf">
<table>
<tr>
<td>Replace <input class="data1" type="text" id="rp" onchange="highlight()"></td>
<td>With <input type="text" id="ne"></td>
</tr>
<tr>
<td></td>
<td><input type="button" onclick="replace();" value="confirm"></td>
</tr>
</table>
</form>
所以我对输入字段使用了 onchange 事件并调用了函数 highlight()
function replace() {
var tx = document.getElementById('rp').value;
var ne = document.getElementById('ne').value;
var re = new RegExp(tx, "g");
document.body.innerHTML = document.body.innerHTML.replace(re, ne);
document.getElementById('repf').style.display = 'none';
}
function highlight() {
var tx = 0;
tx = document.getElementById('rp').value;
alert(tx);
var ne = '<span style="color:blue;">' + tx + '</span>';
var de = new RegExp(tx, "g");
document.body.innerHTML = document.body.innerHTML.replace(de, ne);
return;
}
但是在onchange事件之后,输入字段的值被清除。
编辑
搜索
脚本
function highlight() {
var text = document.getElementById("text-search").value;
var query = new RegExp("(''b" + text + "''b)", "gim");
var e = document.getElementById("mydata").innerHTML;
var enew = e.replace(/(<span>|<'/span>)/igm, "");
document.getElementById("mydata").innerHTML = enew;
var newe = enew.replace(query, "<span>$1</span>");
document.getElementById("mydata").innerHTML = newe;
}
相关文章:
- xmlhttp.responseText不显示文本
- 如何在MVC中使用jQuery在文本框旁边显示文本
- 根据页面的位置突出显示文本中的字符
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 操作javascript变量[HTML]以只显示文本
- 如何显示文本长度,即使它超过ng最大长度
- 如何在悬停时显示文本而不移动页面上的内容
- ASP.NET MVC,在文本框旁边显示文本
- 可单击滚动图像以显示文本框
- 使用鼠标悬停JavaScript/HTML显示文本
- 延迟高亮显示文本区域中的文本
- 选择“选择选项”时显示文本.怎么做
- 无法使用JavaScript在画布上显示文本
- 在不更改HTML源代码的情况下,在管理员TinyMCE编辑器中突出显示文本
- 将鼠标悬停在图像上时显示文本
- javascript:在for循环中使用settimeout来定期显示文本
- 一页主题搜索/用下一个按钮突出显示文本
- JavaScript 在更改选择时不显示文本区域
- 用于突出显示文本的JQuery/JavaScript插件
- 模式显示文本区域内容不是字符串