JavaScript 高亮替换字符串

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
	span{
		color: red;
	}
</style>

</head>

<body>
<div id="div1">
</div>
<input type="text" />
<input type="text" />
<input type="button" value="查找"/>
<input type="button" value="替换"/>
<p>阿三大苏打撒旦撒大苏打顶顶顶顶顶顶打算阿斯顿撒旦撒阿三大苏打撒旦撒</p>
</div>
<script>
	var aInp=document.getElementsByTagName('input');
	var oP=document.getElementsByTagName('p')[0];
	aInp[3].onclick=function(){
		var str=aInp[0].value;
		var newStr= aInp[1].value;
		if(!str)return;
		oP.innerHTML=oP.innerHTML.split(str).join('<span>'+newStr+'</span>');
		
	}
	aInp[1].onclick=function()
	{
		var str=aInp[0].value; 
		oP.innerHTML=oP.innerHTML.split(str).join('<span>'+str+'</span>');
	}

</script>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现JS页面高亮替换的功能,你可以参考以下步骤: 1. 首先,获取要进行搜索替换的页面元素的innerHTML内容。可以使用`document.getElementById`或`document.querySelector`等方法来获取对应的元素。 2. 创建一个正则表达式对象,用于匹配搜索词。可以使用`new RegExp`来创建正则表达式对象,并传入搜索词作为参数。 3. 使用`replace`方法结合正则表达式,对innerHTML内容进行搜索替换操作。将替换后的内容保存到一个新的变量中。 4. 在替换后的内容中,使用HTML标签(例如`<span>`)将匹配到的搜索词进行高亮显示。可以使用模板字符串(template string)来创建包含高亮标签的新内容。 5. 最后,将替换后的内容更新回原始元素的innerHTML,实现页面高亮替换效果。可以使用`element.innerHTML = newHtml`来更新页面元素。 以下是一个示例代码: ```javascript // 获取页面元素 const element = document.getElementById("your-element-id"); const innerHTML = element.innerHTML; // 定义搜索词 const searchWord = "your-search-word"; // 创建正则表达式对象 const reg = new RegExp(searchWord, "gi"); // 进行搜索替换 const newHtml = innerHTML.replace(reg, match => { return `<span class="highlight">${match}</span>`; }); // 更新页面元素的innerHTML element.innerHTML = newHtml; ``` 请注意,示例代码中的"your-element-id"和"your-search-word"需要替换为实际的元素ID和搜索词。另外,你还可以根据需要自定义高亮的样式,例如在CSS中定义名为"highlight"的类,用于设置高亮的样式。 希望这个示例能帮到你。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [JS实现静态页面搜索并高亮显示功能完整示例](https://download.csdn.net/download/weixin_38646706/12963490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [原生JavaScript实现日志搜索高亮的解决方案](https://blog.csdn.net/github_35631540/article/details/128182567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [JS实现关键词高亮显示正则匹配_白峰_前端开发者](https://blog.csdn.net/weixin_39770311/article/details/117711617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值