【发布时间】:2013-05-27 10:43:12
【问题描述】:
我有一个 html 字符串,我想将我的所有 img 标记替换为 figure 标记。这是我的代码
$('img',$(html)).replaceWith(function(){
var figure = '<figure><img src="'+$(this).src+'"><figcaption>'+$(this).attr('alt')+'</figcaption></figure>';
return $(figure);
});
此代码不起作用。我还想在执行操作后返回生成的 html 字符串,但似乎 replace 只返回已替换的元素。那我该怎么做呢?
【问题讨论】:
-
您要替换还是换行?
-
@ArunPJohny 无论如何都能完成工作。基本上我只想找到元素中的所有图像并用图形元素替换/包装它们并返回 html 字符串
-
@NimChimpsky 不是重复的。我在这里遇到的问题是 html 字符串是动态生成的。我想要对字符串进行操作然后返回。而且我使用的代码不起作用。
-
@AkshatJiwanSharma 抱歉,没有看到您提供“不工作”的行为
-
@AkshatJiwanSharma 您应该将 HTML 转换为 DOM 结构,然后使用 DOM 操作(因此是欺骗),然后(可选)序列化回来。从技术上讲不是重复,但足够接近。