日期:2014-05-16  浏览次数:20457 次

文章中某个段落 js 关键字变色
这段代码是全文的 关键字变色 
我想要的 是文章中某段的关键字变色 其他段落 不需要变色 或者用什么方式来圈定一个js代码范围
 
全文关键字变色示例
<script language="JavaScript">
function highlight(key) {
var key = key.split('|');
for (var i=0; i<key.length; i++) {
var rng = document.body.createTextRange();
while (rng.findText(key[i]))
rng.pasteHTML(rng.text.fontcolor('red'));
}
}
highlight('关键字|关键字|关键字')
</script>

------解决方案--------------------
<html>
<head runat="server" >
<title>Index</title>
<script>
function colorMe(key)
{
html = document.getElementById("xx").innerHTML
var key = key.split('|');
for (var i=0; i<key.length; i++) 
html = html.replace(key[i],"<font style='color:red'>" + key[i]+ "</font>","gi")
document.getElementById("xx").innerHTML=html
}
</script>

</head>
<body>
<div>啊啊呵呵测试机挖据阿娇阿娇,劳动法防守对方说的是大公司地方</div>
<div id="xx">啊啊呵呵测试机挖据阿娇阿娇,劳动法防守对方说的是大公司地方啊啊呵呵测试机挖据阿娇阿娇,劳动法防守对方说的是大公司地方</div>
<div>啊啊呵呵测试机挖据阿娇阿娇,劳动法防守对方说的是大公司地方</div>
<input type=button value=test onclick="colorMe('呵|公司')" />
</body>
</html>
------解决方案--------------------
简单的正则替换用下面的方法就可以,如果是比较复杂的替换,可以使用函数进行处理。
HTML code
<div id="content">
这段代码是全文的 关键字变色<br />  
我想要的 是文章中某段的关键字变色 其他段落 不需要变色 或者用什么方式来圈定一个js代码范围
</div>
<script type="text/javascript">
var content = document.getElementById('content');
content.innerHTML = content.innerHTML.replace(/(代码|关键字|变色)/g, "<span style=\"color:red\">$1</span>");
</script>