将HTML字符串转换为jQuery对象

22

我有一个HTML字符串,其中包含文本和HTML标记的混合,我正在尝试将其转换为对象。例如,我的HTML字符串可能如下所示:

Pay using your <img src="visa-src" /> or your <img src="mc-src" />

我正在使用jquery 1.8.0并尝试使用$(HTMLSTRING),但是由于某种原因,在锚点之前会删除文本并给出其余部分,即具有子元素# img,# text# img 的对象,而第一个文本(使用您的付款)被剥离了。

但是假设输入是:

<img src="visa-src" /> or your <img src="mc-src" />

它正确地给了我一个包含三个子元素的对象 #img、#text 和 #img。

还有其他正确转换它的方法吗?

更新: 我最终想要做的是更改 HTML 字符串中每个 img src 并在其前面添加一些主机。

谢谢。


2
我在你的代码中没有看到任何a标签。 - Praveen
在这个 fiddle 中可以运行:http://jsfiddle.net/2A3Uf/ - CodingIntrigue
@user1671639,我已经更新了我的问题,并添加了图像参考。 - user320550
@RGraham,那基本上将其渲染到DOM中,这不是我要寻找的东西。我应该更加明确。我已经更新了问题。 - user320550
可能已经太晚了,但是在将HTMLSTRING转换为jQuery对象之前,您不能只将其包装在<p>中吗? - Moob
2个回答

33

16

使用

$.parseHTML()
替换为
$(HTMLSTRING)

请看下面的JS代码...

var HTMLSTRING = 'Pay using your <img src="visa-src" /> or your <img src="mc-src" />';

var HTMLSTRING1 = '<img src="visa-src" /> or your <img src="mc-src" />';

console.log($.parseHTML(HTMLSTRING));
console.log($.parseHTML(HTMLSTRING1));

演示实例


Nikhil,jQuery的哪个版本有parseHTML?我只能看到parseJSON和parseXML API是我的jQuery的一部分。 - user320550
好的,看起来我没有将parseHTML作为jQuery(1.8.0-min.js)的一部分。还有其他方法去做吗? - user320550
1
我可以在1.8.0源代码中看到parseHTML函数..http://code.jquery.com/jquery-1.8.0.js - Nikhil N
嗨,这可能是一个愚蠢的问题,但如何获取HTML字符串返回? - TOPKAT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接