<html>
<div>qq<img src="ab1.jpg" /></div>
<li><img src="ab2.jpg" />qq</li>
<img src="ab3.jpg" />11111111
</html>如上面内容中我要找出所有的img标签内容放到一个数组中或对像用于访问
0 <img src="ab1.jpg" />
1 <img src="ab2.jpg" />
2 <img src="ab3.jpg" />

解决方案 »

  1.   

    document.images这个应该是得到所有的img标签的对象数组。
    然后,你循环不就可以了。
      

  2.   

    用了jquery $("img").each(function(i){
        alert("index:" +i+"  src:"+$(this).attr("src"));
        }); 
      

  3.   

    这里有可能会有些误导,就是内容不是html document结构,反而是一些字符内容,没有严格结构
      

  4.   

    <img [^<]*src="""&src&"""[^>]*>
      

  5.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title></head><body>
    <script type="text/javascript">
    var s="<html><div>qq<img src=\"ab1.jpg\" /></div><li><img src=\"ab2.jpg\" />qq</li><img src=\"ab3.jpg\" />11111111</html>";
    var p = /<img(.+?)src=[""|\']*([^\s]+?)[""|\']*(\s|>)/ig;
            alert(s.match(p));
    </script>
    </body>
    </html>
      

  6.   

    str.match(/<img\b[^>]+>/g)
      

  7.   

    十分感谢上面回复,加20分再问一下,如果只需取值时,正则如何修改呢,
    0  ab1.jpg 
    1  ab2.jpg 
    2  ab3.jpg 
      

  8.   

    正则是用来匹配出哪些数据是你需要的,至于取值,你还是得用js来获取每个img的src值,或者,你用正则获取到你需要的img数据之后,你自己分析一下获取到的数据有没有什么规律,然后用split来分割取值。最简单的一个方法,你把获取到的img这一大段数据,插入到页面的一个隐藏的div中,让其成为页面上的一部分,然后,用js去获取这些img,就能直接得到他们的src了~~这样做,不用正则匹配都可以~
      

  9.   

    为什么不这样呢var str = "<img src=\"a.jpg\">";
    var item = document.createElement(str);
    var div = document.createElement("div");
    div.appendChild(item);
    alert(div.getElementsByTagName("img").length);
      

  10.   

    document.images 就是页面所有<img>节点的数组
    document.images.idName 就是页面<img>节点中id为idName的节点
    document.images.idName.属性名 就可以get或set页面<img>节点中id为idName的节点对应的属性
      

  11.   


    用replace即可,如:htmlStr.replace(/<img\b[^>]+>/g, "aaa.jpg");
      

  12.   

    div.getElementsByTagName("img")返回的就是所有img的数组
    如:
    var imgs=div.getElementsByTagName("img");
    for(i in imgs){
     alert(imgs[i].src);//弹出所有图片的src
    }