【问题标题】:Issues accessing DOM innerHTML with JavaScript使用 JavaScript 访问 DOM innerHTML 的问题
【发布时间】:2016-12-09 03:37:47
【问题描述】:

我正在使用 Summernote 所见即所得编辑器为用户提供编辑 HTML 模板的功能,并将更改存储到个性化区域。为此,我需要将一组文本字段连同编辑后的 ​​HTML 发布到后端。

一切都按预期工作,除了从可编辑 DIV 发布的 HTML 不发布更新的 DOM,即它是原始 HTML 模板,没有编辑。

如果我使用浏览器开发工具控制台,我可以使用“document.documentElement.outerHTML”来查看正确更新的 DOM,但是当我设置一个变量以通过 ID 获取 outerHTML 元素时,我仍然只发布原始标记.

脚本中的变量如下(基于其他 StackOverflow 答案):

var content = $('#template_text')[0].outerHTML;

如前所述,这允许我发布 DIV 的内容,但不发布用户对模板所做的更新。

我尝试过使用innerHTML, outerHTML, html(),但基本上得到了相同的结果。如果我在变量中使用document.documentElement.outerHTML,这会发布更新的值,但会发送整个文档,而不仅仅是 DIV(我只想要 DIV)。

任何帮助将不胜感激。

【问题讨论】:

  • 如果你尝试会发生什么,var editedText = $('#summernote').summernote('code');?
  • 大卫,你真是个天才!谢谢,这完全达到了预期的效果。你知道为什么 outerHTML 方法似乎不起作用吗?
  • 很高兴它现在正在工作.. 好吧! DOM 方法实现起来可能有点乏味,因为我们不确定库将如何处理它。我会发布这个答案,你能接受吗?
  • 感谢大卫的解释,我已将此标记为已接受的答案

标签: javascript jquery post summernote


【解决方案1】:

我们可以像这样使用库的文档化方式,而不是操纵 DOM,

var editedText = $('#summernote').summernote('code');

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 2021-01-30
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 2022-08-21
    相关资源
    最近更新 更多