【问题标题】:How can I manipulate the DOM from a string of HTML in JavaScript?如何从 JavaScript 中的 HTML 字符串操作 DOM?
【发布时间】:2012-07-26 14:30:01
【问题描述】:

我正在使用 JavaScript 开发一个 Windows 8 Metro 应用程序。我需要操作一串 HTML 来选择像 DOM 这样的元素。

我该怎么做?

例子:

var html = data.responseText; // data.response is a string of HTML received from xhr function.
// Now I need to extract an element from the string like document.getElementById("some_element")... 

谢谢!

更新:

我解决了!

var parser = new DOMParser();
var xml = parser.parseFromString(data.responseText);

【问题讨论】:

  • 无论你想做什么,这都不是办法。我几乎 100% 确定您可以通过其他方式做到这一点。我建议你解释一下你想要做的更多。
  • 尝试使用 response 而不是 responseText,它应该是一个 DOM 解析的 sn-p,您可以对其执行 DOM 查询。请注意,这仅在响应类型(data.responseType)设置为“文档”时才有效
  • 如何将响应类型设置为“文档”?

标签: javascript windows-8 microsoft-metro


【解决方案1】:

我认为您解决问题的方法不是最好的,您可以返回 JSON 或 xml。但如果你需要这样做:

据我所知,如果不在文档中插入新元素,您将无法使用 getElementById(在下面的示例中,在 document 中插入 div,例如 document.appendChild(div)),但您可以这样做这个:

var div = document.createElement("div");
div.innerHTML = '<span id="rawr"></span>'; //here you would put data.responseText

var elements = div.getElementsByTagName("span"); // [<span id="rawr"></span>], there you could ask elements[0].id === "rawr" or whatever you like

【讨论】:

  • 应用程序运行时我无法动态注入 HTML...不过谢谢!
  • 可以动态添加HTML,只需要用toStaticHTML(//string)函数包裹起来
  • 你能告诉我 hw 2 在 windows 8 中使用 JS 解析 xml 字符串吗
猜你喜欢
  • 2010-09-18
  • 1970-01-01
  • 2016-09-14
  • 2021-09-08
  • 1970-01-01
  • 2012-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多