【问题标题】:Getting elements from Shadow DOM从 Shadow DOM 获取元素
【发布时间】:2014-11-24 03:17:57
【问题描述】:

在我正在处理的一个项目中,我有一个通过应用程序生成的 HTML 文档,然后传递给将 HTML 转换为 PDF 的函数。

在 HTML 中,我有 textareas 来显示可编辑的信息。当用户编辑当前在 textarea 中的信息时,我想保存该信息,以便在将其传递给 PDF 生成器时,它是 DOM 的最新版本。

经过一些测试,我发现 textarea 内容的编辑版本在 Shadow DOM 中。

有没有办法获取该内容并将其放入实际的 DOM 中?

我没有做任何明确将内容放在那里的事情,但使用 Firebug 和 WebInspector 我可以将其视为影子内容。

【问题讨论】:

标签: javascript jquery html dom shadow-dom


【解决方案1】:

您可以通过<textarea>value 属性获取当前值,并通过其.textContent 属性将其放入DOM:

function f() {
  var t = document.getElementById('t');
  t.textContent = t.value;
  alert("The resulting DOM is: " + t.parentNode.innerHTML);
}
<div>
  <textarea id = "t">test</textarea>
</div>
<button onclick="f()">click</button>

...假设您调用的函数确实从页面的 DOM 中读取了它的输入。这是什么图书馆?

【讨论】:

  • 这与以前的结果相同。我正在使用 jQuery。当我到达我的办公室时,我会发布更具体的信息。
  • 这最终成为解决方案,改变了 HTML 的生成方式(将 textarea 属性直接指向所需的脚本)。这就是我尝试将 HTML 嵌入到 Objective-C 以进行文本格式化的结果:\
猜你喜欢
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 2020-03-16
  • 2020-05-09
  • 2013-07-06
  • 2021-01-04
  • 2022-12-05
  • 2022-01-17
相关资源
最近更新 更多