需要正则表达式javascript来获取所有图像

时间:2011-10-13 12:07:30

标签: javascript regex

我有包含html的字符串。 html中有几个img标签。我想找到所有 img标签并拥有某种集合,以便我可以用我的代码替换它们。

有人有任何想法。

我希望它在 Javascript

3 个答案:

答案 0 :(得分:4)

var html_str = '...some images and other markup...';

var temp = document.createElement( 'div' );
temp.innerHTML = html_str;

var images = temp.getElementsByTagName( 'img' );

...然后遍历图像......

for( var i = 0; i < images.length; i++ ) {
    images[ i ].className = "my_class";
}

您实际需要做的事情可能会改变循环的运行方式,但上面只是添加了一个类,因此它只是一个普通的for循环。

请注意,此时您正在处理DOM元素,而不是标记。这些元素可以直接添加到DOM中。

答案 1 :(得分:1)

如果您使用jQuery,您可以执行以下操作:

var html = '<div><img src="bla" /></div>';
$(html).find('img');

如果您要替换所有图像,请执行以下操作:

var html = '<div><img src="bla" /></div>';
$(html).find('img').replaceWith('<div>Image was here</div>');

答案 2 :(得分:1)

这是采用所有图像标记的正则表达式模式:

var pattern = /\<img .+?\/\>/ig;

更新:示例在此http://jsbin.com/oxafab/edit#source