在js中有var str = '<a id="a1" style="color: Red" href="www.google.com" >s21</a> <br/>
<a id="a2" style="color: Blue" href="www.baidu.com" >s22</a> <br/>
<a id="a3" style="color: Red" href="www.tianyan.com" >s23</a> <br/>
<a id="a4" style="color: Blue" href="www.bensi.com" >s2233</a> <br/>'
这样的字符串,他是动态生成的,后面可能还有id=a5或者更高id的超链接,我有一个动态创建表格一行的方法CreateRow(),我要根据a的id的最大值创建表格的行数,如果id最大是a8的话我就要动态创建8行表格,并且我要把超链接的href赋值到相应的行,比如第4行的textbox我要给他赋www.bensi.com值,怎么做?谢谢!!!

解决方案 »

  1. 创建<a> 的时候 命名 name eg:<a id="a1" name="createA" style="color: Red" href="www.google.com" >s21 </a>都统一命名为 createA然后可通过 document.getElementsByName("createA") 获得全部
      

  2. 后面可能还有id=a5或者更高id的超链接
    那你是不是在后台控制的a标签的数量的呢?
      

  3. 把这些Textbox全取出来放入数组A,然后取的ID最大的那个Textbox,截取后面的数字,然后创建行!
    将那些链接放入数组B,根据ID后面的数字 从数组B中取链接
      

  4. 因为你的str可以用</a><br/>来分隔获取超链接的个数,及你创建table的行数,就可以这样得到
    rows = str.split("</a><br/>").length - 1;然后创建每行的时候可以循环获取HRDF里面的值的,存数组中在获取或者其他的方法就根据你的方法而定了不晓得能不能行,试一下吧~~
      

  5. 取最大的id
    var i=1;
    var obj;
    while(obj=document.getElementById("a" + i++)){
    }
    var maxid = i-1;
    alert("当前最大的id是" + maxid);
      

  6. var str = ' <a id="a1" style="color: Red" href="www.google.com" >s21 </a> <br/> ‘
    可以通过在后台拼写啊??
    你的id style href s21(内容)
    可以在后台动态的添加吧??
     
      

  7.  Response.Write()
    拼凑Table  变量TR OK???
      

  8. 上面写的有点问题,这个是测试通过的:
    var i=1;
    var obj;
    while(obj=document.getElementById("a" + (i++))){
        alert(obj.id);
    }
    var maxid = i-2;
    alert("当前最大的id是" + maxid);
      

  9. 可以在后台动态的添加吧??----我是在后台拼写的,在js中获取的;
    我说的这些操作必须在js中完成,因为还有相关联的东西
      

  10. var link1="www.baidu.com,www.google.cn";
    friendlink(link1);
    function friendlink(string link)
    var a=link.split(',');
    for(int i=0;i<a.lenght;i++)
    {
      document.write("<a href='+a[i]+'>'+a[i]+'</a>");
    }
      

  11. var str = ' <a id="a1" style="color: Red" href="www.google.com" >s21 </a> <br/> 
    <a id="a2" style="color: Blue" href="www.baidu.com" >s22 </a> <br/> 
    <a id="a3" style="color: Red" href="www.tianyan.com" >s23 </a> <br/> 
    <a id="a4" style="color: Blue" href="www.bensi.com" >s2233 </a> <br/>' 
    是存在变量中,页面上还没有生成对象,用不了document.getElementById("a"+ (i++))
      

  12. 下面这个可以了,你试试吧:
    <script>
    var str = ' <a id="a1" style="color: Red" href="www.google.com" >s21 </a> <br/> \
    <a id="a2" style="color: Blue" href="www.baidu.com" >s22 </a> <br/> \
    <a id="a3" style="color: Red" href="www.tianyan.com" >s23 </a> <br/> \
    <a id="a4" style="color: Blue" href="www.bensi.com" >s2233 </a> <br/>';
    //alert(str);var b = /<a id="a(\d+?)"[\w\W]*?href="(.+?)"[\w\W]*?<\/a>/ig; 
    var arr = str.match(b);
    for(var i=0;i<arr.length;i++){
        var item = arr[i];
        item.match(b);
        alert(RegExp.$1);// 这个就是提取出的序号
        alert(RegExp.$2);// 这个是提取的url
    }
    </script>
      

  13. <script type="text/javascript">
    window.onload = aa;function aa(){
    var textes = document.getElementsByTagName("a");
    var linkes = new Array("http://www.google.com","http://www.baidu.com","http://www.tianya.com","http://www.bensi.com");
    var maxid = textes.length; //maxid应该就是它的数量吧?
    for(var i = 0; i < textes.length;i++)
    {
    textes[i].href = linkes[i];
    alert(textes[i].href);
    }
    }
    </script>
      

  14. 确实可以,我要取color属性的值Blue和超链接的文字s2233怎么写呢?正则表达式我看不懂哦
      

  15. 改一下正则就好了,学习一下正则,其乐无穷……
    <script>
    var str = ' <a id="a1" style="color: Red" href="www.google.com" >s21 </a> <br/> \
    <a id="a2" style="color: Blue" href="www.baidu.com" >s22 </a> <br/> \
    <a id="a3" style="color: Red" href="www.tianyan.com" >s23 </a> <br/> \
    <a id="a4" style="color: Blue" href="www.bensi.com" >s2233 </a> <br/>';
    //alert(str);var b = /<a id="a(\d+?)"[\w\W]*?style="color:(.+?)"[\w\W]*?href="(.+?)"[\w\W]*?>([\w\W]*?)<\/a>/ig; 
    var arr = str.match(b);
    for(var i=0;i<arr.length;i++){
        var item = arr[i];
        item.match(b);
        alert(RegExp.$1);
        alert(RegExp.$2);
        alert(RegExp.$3);
        alert(RegExp.$4);
    }
    </script>
      

  16. To youbl:谢谢你啊!帮我解决了大问题,谢谢大家!!!
      

  17. 兄弟,搜一些资料,csdn上要不到所有答案
      

类似问题 »