有一段HTML源码<li class="ro1" style="width:350px"><a href="/Html/new/15/15840/Index.html">[分类]</a>&nbsp;<a class="f14" href="/new/15840/Index.aspx">孙中山故居</a> <a href="/Html/new/15/15840/4266787.html" target="_blank">南方现大雨天气</a></li>
现在我想取出如下内容易/Html/new/15/15840/Index.html  注:第一个href
/new/15840/Index.aspx   注:第二个href孙中山故居   注:标题我想取出上面三个内容,用JS与正则,请问可以做到吗

解决方案 »

  1.   

    不用正则吧!直接用js取得var hrefs = $("a").attr("href");这里的hrefs就是所用a标签的href值,数组你可以通过下标取值
      

  2.   

    var titals = $("a").html();这是取得所用a标签的标题
      

  3.   

    /<a[^>]*href="([^"]*?)">([\s\S]*?)<\/a>/g
      

  4.   

    <li class="ro1" style="width:350px"></li>我需要的是这个标记里面的内容,你那样就全部都出来了
      

  5.   


    您好,我是想得到<li class="ro1" style="width:350px"></li>里面的,你这样子可以得到的吗,看起来你这样子是得到全部的
      

  6.   


    您好,我是想得到<li class="ro1" style="width:350px"></li>里面的,你这样子可以得到的吗,看起来你这样子是得到全部的
      

  7.   

    你不就是想的到href的值吗?
    /Html/new/15/15840/Index.html 
    /new/15840/Index.aspx 
    孙中山故居
      

  8.   

    <script type="text/javascript">
    var Regex=/\/\H\t\m\l\/\n\e\w\/\1\5\/\1\5\8\4\0\/\*/;
    var Obj=document.getElementsByTagName("a");
    for(var i=0;i<Obj.length;i++){
    if(Regex.test(Obj[i].href)){
    alert(Obj[i].href);//打印第一个和第三个a标签的href属性值
    }
    else{
    alert(Obj[i].innerHTML);//打印第二个a标签的文本节点
    }
    }
    希望对你有帮助</script>
      

  9.   


    我是想得到,但我只想要<li class="ro1" style="width:350px"></li>里面的,其他的都不要
      

  10.   


    /(?:<li class="ro1"[^>]*>|&nbsp;)<a[^>]*href="([^"]*?)">([\s\S]*?)<\/a>/g   //匹配class="ro1" 的li
     
      

  11.   

    有问题。一步有点困难。建议分两步来做。先取出 <li class="ro1" style="width:350px"></li>里面的 。再用正则匹配里面的。
      

  12.   

    一个正则也是可以的:/<li\sclass=(['"]?)ro1\1[^>]*?>\s*(<a[^>]*?href=(['"])[^'"]+\2[^>]*?>([^<>]+)<\/a>[^<>]+){2}/gi
      

  13.   


    开始没明白你的需求,以下代码应该可以满足你的需求。除非你只想用正则。
    $.each($("li.ro1>a"), function(){
    alert("href:" + $(this).attr("href") + "; title:" + $(this).html());
    });
      

  14.   


    你这个要是document对象才能这么用,现在问题是我这些是字符串,字符串也可以$(this).attr("href")这样子取吗
      

  15.   


    <script>
    var str = '<li class="ro1" style="width:350px">\
               <a href="/Html/new/15/15840/Index.html">[分类]</a>&nbsp;\
               <a class="f14" href="/new/15840/Index.aspx">孙中山故居</a>\
               <a href="/Html/new/15/15840/4266787.html" target="_blank">南方现大雨天气</a>\
        </li>';alert(str.replace(/^[\S\s]*?href="?([^"]+)[\S\s]*href="?([^"]+)"?\s*>([^<]+)[\S\s]*$/gi, "$1\n$2\n$3"))
    </script>
      

  16.   

    是你自己表述不清楚,开始就说“有一段HTML源码”,人家就会单独对这段字符串进行处理。琢磨半天你反复说的“我只想要<li class="ro1" style="width:350px"></li>里面的”,才明白那段源码其实是更大段字符串中的一个片段。
    trying<script>
    var str = '<li class="ro1" style="width:350px">\
               <a href="/Html/new/15/15840/Index.html">[分类]</a>&nbsp;\
               <a class="f14" href="/new/15840/Index.aspx">孙中山故居</a>\
               <a href="/Html/new/15/15840/4266787.html" target="_blank">南方现大雨天气</a>\
        </li>';alert(str.replace(/^[\S\s]*<li[^>]+ro1[^>]+width\:350px">[\r\t\s]*<a[\S\s]*?href="?([^"]+)[\S\s]*href="?([^"]+)"?\s*>([^<]+)[\S\s]*<\/li>[\S\s]*$/gi, "$1\n$2\n$3"))
    </script>还不行,你就把源码全贴上来。