在Javascript字符串中查找<img>标记的src属性值

Tec*_*Tee 0 html javascript jquery json

我一直试图在一个包含动态生成/分配的HTML代码块的javascript变量中的img标签中获取'src'.

例如:

var post_body = "<div>This is an image <img src='abcd.jpg' /> and this is a paragraph <p>hi there</p> Here we have another image <img src='pqrs.jpg' /></div>"
Run Code Online (Sandbox Code Playgroud)

'post'变量的内容不是预定义的,而是动态的,其中的HTML代码总是会改变.为了获得图像的src,我做了以下操作.但它并不总是对我有用.

var firstimg = $(post_body).find("img:first").attr("src");
Run Code Online (Sandbox Code Playgroud)

我试图从博客文章的内容中获取博客文章的第一张图片,但这对于某些有图片的帖子不起作用.如何使用javascript或jQuery完成而不失败?

Nie*_*sol 7

使用纯JavaScript,将HTML转储到临时元素中并提取它:

var div = document.createElement('div');
div.innerHTML = post_body;
var firstImage = div.getElementsByTagName('img')[0]
var imgSrc = firstImage ? firstImage.src : "";
// or, if you want the unresolved src, as it appears in the original HTML:
var rawImgSrc = firstImage ? firstImage.getAttribute("src") : "";
Run Code Online (Sandbox Code Playgroud)

  • 这有效但强制浏览器下载临时元素中链接的所有照片. (2认同)