使用jquery替换html字符串中的所有图像

时间:2013-05-31 14:55:04

标签: jquery html

我有一个html字符串,我希望用img标记替换所有figure标记。这是我的代码

$('img',$(html)).replaceWith(function(){
    var figure = '<figure><img src="'+$(this).src+'"><figcaption>'+$(this).attr('alt')+'</figcaption></figure>';
    return $(figure);
});

此代码不起作用。我还希望在执行操作后返回生成的html字符串,但似乎replace只返回已替换的元素。那我该怎么做呢?

1 个答案:

答案 0 :(得分:5)

$(this).src不是有效代码。在这种情况下,您需要$(this).attr('src')this.src

然而,真正的问题可能是您希望html就地更改 - 除非您未在replaceWith上使用html,而是在{{ 1}}。换句话说,您的HTML字符串不会被更改;你的临时jQuery对象然后消失了。

尝试这样的事情:

$(html)

http://jsfiddle.net/mblase75/77aXS/