热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> AJAX编程>>正文内容

使用 javascript 标记高亮关键词

发布时间:2009年10月19日点击数: 未知

 //个将指定html标签内特定关键词高亮显示的javascript 函数。

    /*----------------------------------------*\
     * 使用 js 标记高亮关键词 by markcxz(markcxz@aol.com)
     * 参数说明:
     * obj: 对象, 要进行高亮显示的html标签节点.
     * hlWords: 字符串, 要进行高亮的关键词词, 使用 竖杠(|)或空格 分隔多个词 .
     * cssClass: 字符串, 定义关键词突出显示风格的css伪类.
     * 参考资料: javascript HTML DOM 高亮显示页面特定字词 By shawl.qiu
    \*----------------------------------------*/

    function MarkHighLight(obj,hlWords,cssClass){
    
        hlWords=AnalyzeHighLightWords(hlWords);
        
        if(obj==null || hlWords.length==0)
            return;
        if(cssClass==null)
            cssClass="highlight";
        MarkHighLightCore(obj,hlWords);
        
        //------------执行高亮标记的核心方法----------------------------
        function MarkHighLightCore(obj,keyWords){
            var re=new RegExp(keyWords, "i");
            
            for(var i=0; i
        

        //----------分析关键词----------------------
        function AnalyzeHighLightWords(hlWords)
        {
            if(hlWords==null) return "";
            hlWords=hlWords.replace(/\s+/g,"|").replace(/\|+/g,"|");            
            hlWords=hlWords.replace(/(^\|*)|(\|*$)/g, "");
            
            if(hlWords.length==0) return "";
            var wordsArr=hlWords.split("|");
            
            if(wordsArr.length>1){
                var resultArr=BubbleSort(wordsArr);
                var result="";
                for(var i=0;i
else{
                return hlWords;
            }

        }
    
        
        //-----利用冒泡排序法把长的关键词放前面-----    
        function BubbleSort(arr){        
            var temp, exchange;    
            for(var i=0;i

    
    }

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作