我有一个HTML字符串,它是文本和HTML标记的混合,我正在尝试将其转换为对象。因此对于例如我的HTML字符串看起来像:
Pay using your <img src="visa-src" /> or your <img src="mc-src" />
我正在使用jquery 1.8.0并尝试使用$(HTMLSTRING)
但是由于某种原因它会删除锚点之前的文本并给出其余部分,即带有子项#img, #text
和{{1的对象第一个文本(使用你的付款)被剥离了
但是,如果输入是:
#img
它正确地给了我带有三个子元素的对象#img,#text和#img。
还有其他方法可以正确转换吗?
更新: 我最终看到的是改变HTML字符串中的每个img src并在那里添加一些主机。
感谢。
答案 0 :(得分:26)
$.parseHTML()
将字符串解析为 DOM节点数组。
要创建对象,您需要添加$()
:
$($.parseHTML(yourString))
看看这个小提琴:http://jsfiddle.net/j05ucnfv/
答案 1 :(得分:11)
使用
$.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));