﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-ansenhuang-文章分类-javaScript</title><link>http://www.blogjava.net/ansenhuang/category/25021.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 19 Aug 2007 02:54:11 GMT</lastBuildDate><pubDate>Sun, 19 Aug 2007 02:54:11 GMT</pubDate><ttl>60</ttl><item><title>关键字高亮显示</title><link>http://www.blogjava.net/ansenhuang/articles/137333.html</link><dc:creator>ansenhuang</dc:creator><author>ansenhuang</author><pubDate>Thu, 16 Aug 2007 08:58:00 GMT</pubDate><guid>http://www.blogjava.net/ansenhuang/articles/137333.html</guid><wfw:comment>http://www.blogjava.net/ansenhuang/comments/137333.html</wfw:comment><comments>http://www.blogjava.net/ansenhuang/articles/137333.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ansenhuang/comments/commentRss/137333.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ansenhuang/services/trackbacks/137333.html</trackback:ping><description><![CDATA[&lt;script language=javascript&gt;&nbsp;&nbsp; <br>function highlightWord(node,word) {&nbsp;&nbsp; <br>&nbsp; // Iterate into this nodes childNodes&nbsp;&nbsp; <br>&nbsp;<br>&nbsp; if (node.hasChildNodes) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; var hi_cn;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; for (hi_cn=0;hi_cn&lt;node.childNodes.length;hi_cn++) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; highlightWord(node.childNodes[hi_cn],word);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; // And do this node itself&nbsp;&nbsp; <br>&nbsp; if (node.nodeType == 3) { // text node&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; tempNodeVal = node.nodeValue.toLowerCase();&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; tempWordVal = word.toLowerCase();&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if (tempNodeVal.indexOf(tempWordVal) != -1) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn = node.parentNode;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pn.className != "searchword") {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // word has not already been highlighted!&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nv = node.nodeValue;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ni = tempNodeVal.indexOf(tempWordVal);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a load of replacement nodes&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; before = document.createTextNode(nv.substr(0,ni));&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; docWordVal = nv.substr(ni,word.length);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; after = document.createTextNode(nv.substr(ni+word.length));&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiwordtext = document.createTextNode(docWordVal);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiword = document.createElement("span");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiword.className = "searchword";&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiword.appendChild(hiwordtext);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.insertBefore(before,node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.insertBefore(hiword,node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.insertBefore(after,node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.removeChild(node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp; }&nbsp;&nbsp; <br>}&nbsp;&nbsp; <br>&nbsp; <br>function SearchHighlight() {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; highlightWord(document.getElementsByTagName("body")[0],'a');&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; highlightWord(document.getElementsByTagName("body")[0],'q'); <br>}&nbsp;&nbsp; <br>&nbsp; <br>window.onload = SearchHighlight;<br>&nbsp; <br>&lt;/script&gt;&nbsp;&nbsp;
<div>&nbsp;</div>
<div>&nbsp;例：<br>（描述：复制一下代码粘贴到html文件中，直接运行查看效果）<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;asfdsadf&lt;/title&gt;<br>&lt;meta http-equiv=Content-Type content="text/html; charset=utf-8"&gt;<br>&lt;style type="text/css"&gt;<br>&nbsp; .searchword {&nbsp;&nbsp;&nbsp;&nbsp; background-color: red; } <br>&lt;/style&gt; <br>&lt;script language=javascript&gt;&nbsp;&nbsp; <br>function highlightWord(node,word) {&nbsp;&nbsp; <br>&nbsp; // Iterate into this nodes childNodes&nbsp;&nbsp; <br>&nbsp;<br>&nbsp; if (node.hasChildNodes) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; var hi_cn;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; for (hi_cn=0;hi_cn&lt;node.childNodes.length;hi_cn++) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; highlightWord(node.childNodes[hi_cn],word);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; // And do this node itself&nbsp;&nbsp; <br>&nbsp; if (node.nodeType == 3) { // text node&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; tempNodeVal = node.nodeValue.toLowerCase();&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; tempWordVal = word.toLowerCase();&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if (tempNodeVal.indexOf(tempWordVal) != -1) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn = node.parentNode;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pn.className != "searchword") {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // word has not already been highlighted!&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nv = node.nodeValue;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ni = tempNodeVal.indexOf(tempWordVal);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a load of replacement nodes&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; before = document.createTextNode(nv.substr(0,ni));&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; docWordVal = nv.substr(ni,word.length);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; after = document.createTextNode(nv.substr(ni+word.length));&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiwordtext = document.createTextNode(docWordVal);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiword = document.createElement("span");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiword.className = "searchword";&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hiword.appendChild(hiwordtext);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.insertBefore(before,node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.insertBefore(hiword,node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.insertBefore(after,node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pn.removeChild(node);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp; }&nbsp;&nbsp; <br>}&nbsp;&nbsp; <br>&nbsp; <br>function SearchHighlight() {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; highlightWord(document.getElementsByTagName("body")[0],'a');&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; highlightWord(document.getElementsByTagName("body")[0],'q'); <br>}&nbsp;&nbsp; <br>&nbsp; <br>window.onload = SearchHighlight;<br>&nbsp; <br>&lt;/script&gt;&nbsp;&nbsp; &lt;/head&gt;<br>&lt;body bgcolor=#ffffff&gt;<br>&lt;table&gt;<br>&nbsp;&lt;tr&gt;<br>&nbsp;&nbsp;&lt;td&gt;<br>&nbsp;&nbsp;&nbsp;aaaaaabbbbbbaaacc cc bb ss aa bb qq dd<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/td&gt;<br>&nbsp;&lt;/tr&gt;&nbsp;<br>&lt;/table&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</div>
<img src ="http://www.blogjava.net/ansenhuang/aggbug/137333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ansenhuang/" target="_blank">ansenhuang</a> 2007-08-16 16:58 <a href="http://www.blogjava.net/ansenhuang/articles/137333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>