【问题标题】:.innerHTML -> console.log shows formatting but DOM element doesn't.innerHTML -> console.log 显示格式,但 DOM 元素不显示
【发布时间】:2021-11-30 10:22:24
【问题描述】:
        let parser = new DOMParser();
        let OFPXML = parser.parseFromString(json, "application/xml");
        Formats = OFPXML.querySelector('Formats');
        XML1 = Formats.children[1].innerHTML;
        console.log(XML1); // This retains linebreaks
        document.getElementById('text_from_XML_node_here').innerHTML = XML1;  // This does not retain them.

Console.log 显示带有换行符的文本,但 DOM 元素将它们全部删除。

这是一个低优先级的问题,因为我只是在学习和试验事物。

【问题讨论】:

  • 什么是OFPXML
  • 能否提供XML1的值? @Spectric 我相信它一定是另一个元素。
  • 如果换行是指回车和/或换行,浏览器会将它们转换为空格。如果您的意思是实际的<br> 标签,也许它们被编码为.innerText
  • 请提供您的代码Minimal, Reproducible Example

标签: javascript console.log


【解决方案1】:

在呈现的 HTML 元素中不显示换行符。渲染 DOM 元素时,会忽略像 \n 这样的原始换行符。如果您希望明确显示换行符,您有以下选项:

  • 将元素更改为<pre>
  • 将 XML1 变量中的换行符替换为 <br />

【讨论】:

  • 预标签有效!很高兴知道!
猜你喜欢
  • 1970-01-01
  • 2014-08-27
  • 2020-02-08
  • 1970-01-01
  • 2021-07-12
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
相关资源
最近更新 更多