2016-06-23 111 views
0

我有HTML字符串,我在UIWebView中打开它。现在,我想让我的所有图片可点击,将它们放到象链接标签:如何将HTML字符串中的所有img标签替换为<a><img></a>?

那句话:

<img src="..." /> 

变成了:

<a href="..."><img src="..." /></a> 

有没有简单的解决办法吗?

我试图找到所有的标签,并将其替换为字符串内部,但它非常痛苦。

我已经试过了:

let js = "var a=document.createElement('a');a.href='http://mylink.com';var image = document.getElementById('mydiv').getElementsByTagName('img')[0];b=a.appendChild(image);document.getElementById('mydiv').appendChild(a);" 

self.webView.stringByEvaluatingJavaScriptFromString(js) 

但它并没有帮助我

+0

如何在页面中注入JavaScript链接,并使用JavaScript代码来操纵dom?如果在该脚本中使用jquery,则可以使用$ .wrap函数 – CodeToad

+0

@CodeToad请看我的问题。我已经添加了我的JS代码 – John

+0

在页面上有jquery吗? – CodeToad

回答

1

简短的回答:不,这不是一个简单的解决方案。不要这样做。尝试解析和更改来自客户端应用程序的HTML源代码是一个可怕的想法,并且总是非常痛苦。这就像试图用锯齿,镜子和一些旧的牙科工具对自己进行脑部手术。

+0

是的,我知道,但我想使我的图像内UIWebView点击,并点击我打开这些图像的画廊。你有什么建议吗? – John

+0

我建议你不要做你正在计划的事情。如果不这样做,手头上有许多头痛药物,并准备一个非常脆弱的应用程序,你必须不断调整以适应从不同网站获得的几乎无限的HTML代码版本。 –

相关问题