你把< 和 > 替换了??

解决方案 »

  1.   

    SetKeyColor('ss','green','a');你传2个s ya replace(new RegExp(key,"g"),"<font color=red>" + key + "</font>")这不是你自己写的
      

  2.   

    替换的那句换下
    obj.nodeValue = obj.nodeValue.replace(new RegExp(key+"+","g"),"<font color=red>" + key + "</font>")
      

  3.   

    如果key 是 sasa  呢?
      

  4.   

    那只好换了,:)
    obj.nodeValue = obj.nodeValue.replace(new RegExp("("+key+")+","g"),"<font color=red>" + key + "</font>")
    不过楼主这样遍历确实不好,对象多了比较慢
      

  5.   

    TO xiaolei1982
    版主的写法测试过吗?为什么我这用没有效果-----------------------------
    晕,我理解错了,以为楼主是想把字符串打出来把中间的标签去掉就行,原来是要把颜色显示出来
      

  6.   

    hbhbhbhbhb1021(天外水火(我要多努力)) 
    new RegExp("("+key+")+","g")()+ 这种可以吗?()里面的可以重复?好像没这种用法吧
      

  7.   

    可以用的,
    <script language=javascript>
    var str="sasa"
    re=/^(sa)+$/
    alert(re.test(str))

    </script>
    不过那句没测试,要改成下面这样才能全部显示出来
    obj.nodeValue = obj.nodeValue.replace(new RegExp("(("+key+")+)","g"),"<font color=red>$1</font>")楼主的这个程序,最好在 ss那也加个标签,这样修改标签的className感觉要比遍历好
      

  8.   

    <script>var a='sasabsasasabsa'alert(a.replace(/(sa)+/g,""))</script>果然
      

  9.   

    obj.nodeValue = obj.nodeValue.replace(new RegExp(key,"g"),"<font color=red>" + key + "</font>")
    str=obj.parentNode.outerHTML.toString()
    str=str.replace(new RegExp("&lt;","g"),"<")
    str=str.replace(new RegExp("&gt;","g"),">")
    obj.parentNode.outerHTML=str
    这样就可以显示颜色了,比较笨!-_-