将HTML字符串转换为Jquery对象

use*_*550 17 jquery

我有一个HTML字符串,它是文本和HTML标签的混合,我试图将其转换为对象.所以对于我的HTML字符串看起来像:

Pay using your <img src="visa-src" /> or your <img src="mc-src" />
Run Code Online (Sandbox Code Playgroud)

我使用jQuery 1.8.0,并尝试使用$(HTMLSTRING)但是由于某种原因,它剔除了锚之前的文本,并给出了休息,即对象与孩子们#img, #text#img在第一文本(支付使用)被剥去

但是,如果输入是:

<img src="visa-src" /> or your <img src="mc-src" />
Run Code Online (Sandbox Code Playgroud)

它正确地给了我带有三个子元素的对象#img,#text和#img.

还有其他方法可以正确转换吗?

更新:我最终看到的是更改HTML字符串中的每个img src并在那里添加一些主机.

谢谢.

Ren*_*újo 28

$.parseHTML()将字符串解析为DOM节点数组.

要创建需要添加的对象$():

$($.parseHTML(yourString))
Run Code Online (Sandbox Code Playgroud)

看看这个小提琴:http://jsfiddle.net/j05ucnfv/

参考:http://api.jquery.com/jQuery.parseHTML/

  • 那对我来说是个窍门,一件不明显的琐事 (2认同)

nik*_*nik 11

使用

$.parseHTML()
Run Code Online (Sandbox Code Playgroud)

代替

$(HTMLSTRING)
Run Code Online (Sandbox Code Playgroud)

见下面的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));
Run Code Online (Sandbox Code Playgroud)

演示小提琴