【问题标题】:Getting content of an element as string with unescaped HTML使用未转义的 HTML 将元素的内容作为字符串获取
【发布时间】:2017-10-14 17:20:37
【问题描述】:

我正在使用来自 npm 库的 xmldom 解析器,它基于 DOMNode 对象模型。有以下代码:

var xml = "<p>Test</p><toFetch id="1">test\n\n<p>aaa</p>test\n</toFetch>";
var parser = new dom.DOMParser().parseFromString(xml, "text/xml");

我想获取 toFetch 标记的内容,作为一个字符串,其中包含所有未转义的 HTML 标记,并且没有 toFetch 标记本身。

我拥有的是:

var elements = parser.getElementsByTagName("toFetch");
elements.forEach(element => {
    console.log(element.toString());
});

它有效,但它给了我带有toFetch 环绕标签的字符串。我怎样才能只获取内容?

【问题讨论】:

  • xml.split("")[0]

标签: javascript html xml dom dom-node


【解决方案1】:

您的字符串中有错字。 1 应该是单引号,而不是双引号。

然后,更改:console.log(element.toString());

收件人:console.log(element.textContent);

【讨论】:

  • 它只给了我第一个孩子,没有内部标签
  • @user99999 更新答案。
  • 也试过了,它去掉了所有的 HTML 标签,我不想要那个。
  • @user99999 不确定是否使用 XML,但您是否尝试过:element.innerHTML?
  • 是的,这很理想,但 XML 没有这个属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
相关资源
最近更新 更多