js 关键字加亮 传参问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:39:45
<div id="txt">
用JS让文章内容指定的关键字加亮
是这样的..现在有这些关键字:美容,生活,购物
当在文章里头出现这些关键字,就把它加亮显示..
文章是生成静态页面的,而这些关键字是能随时更新的,所以我想用JS来实现...
</div>
<script language="JavaScript">
document.getElementById("txt").innerHTML = document.getElementById("txt").innerHTML.replace(/(文章)/gi,"<font color=red>$1</font>");
</script>

现在的关键字是文章,但我想改成自己在某个TextBox输入的值,怎么改 啊?我做毕业设计要用,我对js脚本语言不熟悉,麻烦大家帮忙了!

你的关键是如果在正则表达式中使用变量,应该使用RegExp对象。

我把你的代码修改如下,调试通过,没有错误:

<div id="txt">
用JS让文章内容指定的关键字加亮
是这样的..现在有这些关键字:美容,生活,购物
当在文章里头出现这些关键字,就把它加亮显示..
文章是生成静态页面的,而这些关键字是能随时更新的,所以我想用JS来实现...
</div>

<input type=text onchange="mark_red(this.value);" value="文章">

<script language="JavaScript">
function mark_red(p){
var s=document.getElementById("txt").innerHTML;
var re=new RegExp("("+p+")","ig");
s=s.replace(re,"<font color=red>$1</font>");
document.getElementById("txt").innerHTML = s;
}
</script>

<input id="key" value="" type="text"/>
<input type="button" value="输入关键字" onclick="s()"/>
<script>
function s(){
var key = document.getElementById("key").v