我现在页面上有一个输入框用于让用户输入关键字,然后鼠标移开后,我想让下面的某个div里面的文字能高亮显示这个定义的关键字。 想用正则去匹配,然后给关键字加上一个css。但是如果有些比如<a title='keyword'>keyword</a>, 有可能匹配到tag里面的keyword,不知道这样的正则怎么写,谢谢

解决方案 »

  1.   

    发现用$('#div1').text就可以取出单纯的text进行替换了
     var str = $("#div1").text();
                var keyword = $("#keyword").val();
                var regexKeyword = new RegExp(keyword, "igm");
                $("#div1").html(str.replace(regexKeyword, "<span class='highlight'>" + regexKeyword.source + "</span>")); 现在问题是比如,我关键字是keyword,可能都是小写,而文本里面是KEYWORD,我如果直接替换,会把原来的KEYWORD变成 keyword就改变原来的文本了
      

  2.   

    var str = $("#div1").text(); 貌似不行,如果有多个关键字就不行了,只能显示一个highlight....