<% for(int number=0;numberɝnumber++){%><tr><td>
<a href="#" id="asktitle<%=number %>"><%=myask1 %></a>
</td></tr><tr><td id="askcontent<%=number %>"><%=exprlain%></td></tr>
<%} %>
//JS要在下面才能取到值<script type="text/javascript">
//JS高亮显示搜索关键字function elm(tag){
return document.getElementsByTagName(tag);
}
var i=<%=number%>
for(var n=0;n<i;n++){
var find = document.getElementById("asktitle"+n);
var cont= document.getElementById("askcontent"+n);
var str=find.innerHTML;
var str2=cont.innerHTML;//alert(str);
var ht=str.replace(/(<%=myask %>)/ig,"<strong style='color:red'>$1</strong>");
var ht2=str2.replace(/(<%=myask %>)/ig,"<strong style='color:red'>$1</strong>");
//alert(ht);
document.getElementById("asktitle"+n).innerHTML = ht;
document.getElementById("askcontent"+n).innerHTML=ht2;
}
</script> 
 

解决方案 »

  1.   

    前两天刚在js那边写了,挪过来。<html>
    <head>
    </head>
    <body>
    <div>
    <span id="123" name="abc">
    abc
    <span id="456" name="def">
    abc
    </span>
    </span>
    </div><input type="text" name="keyword" value="请输入关键字!" onfocus="if(this.value!='')this.value='';" onblur="if(this.value.replace('\w','')=='')this.value='请输入关键字!';"/>
    <button onclick="changeColor()">查找</button>
    </body>
    </html> <script>function changeColor()
    {
        var keyword = document.all.keyword.value;
        
        keyword=keyword.replace(/^ +| +$/g, "");
        keyword=keyword.replace(/ +/g, " ");
        
        if(keyword=="") return;
        
        var r = document.body.createTextRange(); //创建文本对象
      
          while (r.findText(keyword)) { //查找关键字
            r.execCommand('BackColor', '', '#ff4'); //背景色
            r.execCommand('ForeColor', '', 'red');  //前景色
            r.collapse(false);
        }
    }</script>
      

  2.   

    <html>
    <head>
        <script>
    function changeColor()
    {
        
        var keyword="计算机";
        keyword=keyword.replace(/^ +| +$/g, "");
        keyword=keyword.replace(/ +/g, " ");
        
        if(keyword=="") return;
        
        var r = document.body.createTextRange();   
          while (r.findText(keyword)) 
            r.execCommand('BackColor', '', '#ff4'); 
            r.execCommand('ForeColor', '', 'red');  
            r.collapse(false);    }
    }
    </script>
    </head>
    <body onload=changeColor()>
    <div>
    <span id="123" name="abc">
    abc
    <span id="456" name="def">
    abc
    </span>
    </span>
    </div>
    <br>
    计算机(computer / calculation machine)是总称,一般在学术性或正式场合使用。在通常用语中,计算机一般指电子计算机中用的个人电脑。计算机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。它由多个零配件组成,如中央处理器、主板、内存、电源、显卡等。接收、处理和提供数据的一种装置,通常由输入输出设备、存储器、运算和逻辑部件以及控制器组成;有模拟式、数字式及混合式三种类型。</body>
    </html> 
    为什么这样不行哪?
      

  3.   

    <html> 
    <head> 
        <script> 
    function changeColor() 

        
        var keyword="计算机"; 
        keyword=keyword.replace(/^ + ¦ +$/g, ""); 
        keyword=keyword.replace(/ +/g, " "); 
        
        if(keyword=="") return; 
        
        var r = document.body.createTextRange();  
          while (r.findText(keyword)) {
            r.execCommand('BackColor', '', '#ff4'); 
            r.execCommand('ForeColor', '', 'red');  
            r.collapse(false);     } 

    </script> 
    </head> 
    <body onload=changeColor()> 
    <div> 
    <span id="123" name="abc"> 
    abc 
    <span id="456" name="def"> 
    abc 
    </span> 
    </span> 
    </div> 
    <br> 
    计算机(computer / calculation machine)是总称,一般在学术性或正式场合使用。在通常用语中,计算机一般指电子计算机中用的个人电脑。计算机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。它由多个零配件组成,如中央处理器、主板、内存、电源、显卡等。接收、处理和提供数据的一种装置,通常由输入输出设备、存储器、运算和逻辑部件以及控制器组成;有模拟式、数字式及混合式三种类型。 </body> 
    </html>这样就可以了o(∩_∩)o...
    原因在于while循环少了一个{