如何查找html中img标签内容

ccssddnnsb 2010-09-23 01:35:40
<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" />

...全文
311 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccssddnnsb 2010-09-25
  • 打赏
  • 举报
回复
正则如何修改
zjhiphop2006 2010-09-25
  • 打赏
  • 举报
回复
div.getElementsByTagName("img")返回的就是所有img的数组
如:
var imgs=div.getElementsByTagName("img");
for(i in imgs){
alert(imgs[i].src);//弹出所有图片的src
}
hoojo 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ccssddnnsb 的回复:]

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

用replace即可,如:htmlStr.replace(/<img\b[^>]+>/g, "aaa.jpg");
Wilson_Zhong 2010-09-25
  • 打赏
  • 举报
回复
document.images 就是页面所有<img>节点的数组
document.images.idName 就是页面<img>节点中id为idName的节点
document.images.idName.属性名 就可以get或set页面<img>节点中id为idName的节点对应的属性
kongxh1218 2010-09-25
  • 打赏
  • 举报
回复
为什么不这样呢

var str = "<img src=\"a.jpg\">";
var item = document.createElement(str);
var div = document.createElement("div");
div.appendChild(item);
alert(div.getElementsByTagName("img").length);
zcy9979420 2010-09-25
  • 打赏
  • 举报
回复
学习中
jol_boy 2010-09-25
  • 打赏
  • 举报
回复
正则是用来匹配出哪些数据是你需要的,至于取值,你还是得用js来获取每个img的src值,或者,你用正则获取到你需要的img数据之后,你自己分析一下获取到的数据有没有什么规律,然后用split来分割取值。

最简单的一个方法,你把获取到的img这一大段数据,插入到页面的一个隐藏的div中,让其成为页面上的一部分,然后,用js去获取这些img,就能直接得到他们的src了~~

这样做,不用正则匹配都可以~
ccssddnnsb 2010-09-23
  • 打赏
  • 举报
回复
十分感谢上面回复,加20分再问一下,如果只需取值时,正则如何修改呢,
0 ab1.jpg
1 ab2.jpg
2 ab3.jpg
sohighthesky 2010-09-23
  • 打赏
  • 举报
回复
str.match(/<img\b[^>]+>/g)

街头小贩 2010-09-23
  • 打赏
  • 举报
回复

<!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>
ccssddnnsb 2010-09-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaofanku 的回复:]

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

怎么取成数组呢,这里我有点搞不明白
街头小贩 2010-09-23
  • 打赏
  • 举报
回复
<img [^<]*src="""&src&"""[^>]*>
  • 打赏
  • 举报
回复
用正则表达式
ccssddnnsb 2010-09-23
  • 打赏
  • 举报
回复
这里有可能会有些误导,就是内容不是html document结构,反而是一些字符内容,没有严格结构
zell419 2010-09-23
  • 打赏
  • 举报
回复
用了jquery

$("img").each(function(i){
alert("index:" +i+" src:"+$(this).attr("src"));
});
licip 2010-09-23
  • 打赏
  • 举报
回复
document.images这个应该是得到所有的img标签的对象数组。
然后,你循环不就可以了。

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧