str=''不用引号。
aa.length()

解决方案 »

  1.   

    <body>
    <div id="test" onDblClick="fun();">
       <ul>
             <li><a href="a1.htm">a1</a></li>
      <li><a href="a2.htm">a2</a></li>              
       </ul>
    </div>
    <script>
    function fun(){
    var str= test.innerHTML;
    alert(str);
    var re=/<li>.*<\/li>/ig;
    var aa=str.match(re);
    alert(aa);
    for(var i=0;i<aa.length;i++)
    {
        alert(aa[i]);
    }
    }
    </script></body>
      

  2.   

    同意楼上的观点,另外aa.length()的括号要去掉,不然也出错。
      

  3.   

    <html>
    <body>
    <div id="test" onDblClick="fun();">
       <ul>
             <li><a href="a1.htm">a1</a></li>
      <li><a href="a2.htm">a2</a></li>              
       </ul>
    </div>
    <script>
    function fun(){
    var str= test.innerHTML;
    //var str= eval("test.innerHTML");
    alert(str);
    var re=/<li>.*<\/li>/ig;
    var aa=str.match(re);
    for(var i=0;i<aa.length;i++)
    {
        alert(aa[i]);
    }
    }
    </script></body></html>
      

  4.   

    var str= test.innerHTML;
    或者
    var str= eval("test.innerHTML");都可以。
      

  5.   

    <body>
    <div id="test" onDblClick="fun();">
      <ul>
            <li><a href="a1.htm">a1</a></li>
           <li><a href="a2.htm">a2</a></li>              
       </ul>
    </div>
    <script>
    function fun(){
    var str= test.innerHTML;  //将单引号去掉  
    alert(str);
    var re=/<li>.*<\/li>/ig;
    var aa=str.match(re);
    for(var i=0;i<aa.length();i++)
    {
        alert(aa[i]);
    }
    }
    </script>
    </body>试一下
      

  6.   

    不好意思,我就是使用了var str= test.innerHTML出错,我就怀疑是这个test.innerHTML惹的祸,所以我改成一个常量串,var str = 'test.innerHTML',我不看正则式的结果,我就是郁闷:为啥这个地方是变量也不行,常量也报错。而且错误的地方还没有到下面使用正则式的地方
      

  7.   

    <div id="test" onDblClick="fun();">
    这里好像应该改成
    <div id="test" onClick="fun();">吧?onDblClick难道是双击用的?我真是孤陋寡闻,好像没看到
    这样用的。