【问题标题】:Convert HTML string into Jquery Object将 HTML 字符串转换为 Jquery 对象
【发布时间】:2015-09-17 21:22:06
【问题描述】:

我有一个 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 并在其中添加一些主机。

谢谢。

【问题讨论】:

  • 我在您的代码中没有看到任何 a 标记
  • 在这个小提琴中工作:jsfiddle.net/2A3Uf
  • @user1671639,我已经用 img 参考更新了我的问题。
  • @RGraham,基本上将其渲染到 DOM 中,这是我不想要的东西。我应该更明确一点。我已经更新了问题。
  • 可能为时已晚,无法使用,但您能否在将 HTMLSTRING 设为 jQuery 对象之前将其包装在 &lt;p&gt; 中?

标签: jquery


【解决方案1】:

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

要创建对象,您需要添加$()

$($.parseHTML(yourString))

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

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

【讨论】:

    【解决方案2】:

    使用

    $.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));
    

    Demo Fiddle

    【讨论】:

    • Nikhil,哪个版本的 jQuery 有 parseHTML。我只能看到 parseJSON 和 parseXML API 作为我的 jQuery 的一部分。
    • ok 看起来我没有将 parseHTML 作为我的 jQuery (1.8.0-min.js) 的一部分。还有其他方法可以解决这个问题吗?
    • 我可以在 1.8.0 源码中看到 parseHTML 函数..code.jquery.com/jquery-1.8.0.js
    • 嗨,这可能是一个愚蠢的问题,但是如何取回 html 字符串?
    猜你喜欢
    • 2016-09-23
    • 2012-05-13
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 2015-02-04
    • 2015-08-10
    相关资源
    最近更新 更多