【问题标题】:How can we convert HTML string to Object using javascript? [duplicate]我们如何使用 javascript 将 HTML 字符串转换为 Object? [复制]
【发布时间】:2014-05-29 20:43:04
【问题描述】:

我有一个这样的 Html 字符串:

<div id="foo">
    <h1 class="greeting">Hello World!</h1>
</div>

我需要将此 html 字符串转换为 Javascript 中的 Object。即,在 jquery 中使用 .children() 方法时,我应该得到相同的对象结果。我尝试过这样的事情:

a = '<div id="foo">
    <h1 class="greeting">Hello World!</h1>
</div>';
eval("{"+a+"}");
console.log(a);

但它没有用。我应该在 javascript 中使用什么方法将 HTML 字符串转换为对象表示法。我应该以对象形式获取每个子节点。我不想在这个解决方案中使用 Jquery。我期待控制台中显示的确切输出

【问题讨论】:

  • @A4L 您的链接没有我期望的答案。该页面有不相关的答案
  • 那个链接的答案。您有一个需要转换为 DOM 结构的 HTML 字符串。您没有 JSON。
  • 你想要实现什么?
  • 我需要 HTML 字符串到 Object 以便进一步处理
  • @A4L 我期待输出如问题所示

标签: javascript html object


【解决方案1】:

在图片中它是一个 jQuery 对象,您可以使用以下代码创建它

var a = '<div id="foo">\
    <h1 class="greeting">Hello World!</h1>\
</div>';
var aDom = jQuery(a);
console.log(aDom );

纯 JavaScript:jsfiddle

var e = document.createElement("div");
e.id = "foo";
e.innerHTML = '<h1 class="greeting">Hello World!</h1>';

console.log(e);

【讨论】:

  • 谢谢,我需要使用 Javascript 来实现相同的结果。我不想使用任何 jquery 库
  • @Ganesh 但在图像中它是一个 jQuery 对象
  • 我知道。我需要使用 Javascript 获取相同的对象。我应该使用什么方法而不是 .children() 来实现这个结果。
  • +1 很好很简单。在这里,我虽然 OP 想要一个精心设计的包装器,但不使用 jQuery。干得好。
【解决方案2】:

你想要这样

<script>
var htmlStrObj = {};
htmlStrObj.container = '<div id="foo"><h1 class="greeting">Hello World!</h1></div>';
console.log(htmlStrObj);
</script>

【讨论】:

    【解决方案3】:

    编辑

    var a = '<div id="test"></div>';
    
    var htmlObject = document.createElement('div');
    
    htmlObject.innerHTML = a;
    
    htmlObject.getElementById("test") = data;
    

    【讨论】:

      猜你喜欢
      • 2016-02-05
      • 2020-08-18
      • 2012-07-05
      • 2022-08-05
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 2020-08-16
      相关资源
      最近更新 更多