【问题标题】:How to append div into div in summernote editor如何在summernote编辑器中将div附加到div中
【发布时间】:2017-05-12 05:33:03
【问题描述】:

所以我有这段代码,如果它不存在,则将 iframe 和链接插入到文档中,如果存在则只是一个链接。问题是这需要在自定义 div 中,因此结构如下所示:

<div class="page-reference">
  <iframe src="http://www.myiframe.com/1" height="400" id="pageReferenceIframe"></iframe>
  <div class="">
    <a href="http://www.myiframe.com/1" class="page-reference-link">ref1</a>
  </div>
  <div class="page-reference-active">
    <a href="http://www.myiframe.com/2" class="page-reference-link">ref2</a>
  </div>
  <div>
    <a href="http://www.myiframe.com/3" class="page-reference-link">ref3</a>
  </div>
</div>

我需要使用summernote编辑器来实现这一点,以便管理员可以创建一个新链接,并在单击链接时更改iframe的src,这部分工作。什么不工作是这样的:

addReference(reference) {
    let hasReferences = /class=\"page-reference\"/.test(this.currentPage().text);
    if (hasReferences) {
        let pageReference = document.getElementsByClassName('page-reference')[0];
        pageReference.appendChild(this.createPageReferenceLink(reference));
    } else {
        let div = document.createElement('div');
        div.classList = 'page-reference';
        let iframe = this.createIframe({ site: reference.site, height: 400, width: 80 });
        iframe.id = 'pageReferenceIframe';
        div.appendChild(iframe);
        let link = this.createPageReferenceLink(reference);
        link.classList = 'page-reference-active';
        div.appendChild(link);

        this.insertSummernoteNode(div);
    }
}

此代码在每个页面加载一次时有效,然后在页面再次加载之前无效。我通过在每一行上放置一个调试器来检查代码是否在随后执行,并且它们被触发,但问题是pageReference.appendChild(this.createPageReferenceLink(reference)); 没有在第一次之后的任何尝试中附加创建的元素。我不认为我可以使用summernote方法insertNode,因为它似乎无法在特定位置插入。我坚持这一点,任何帮助将不胜感激。

【问题讨论】:

    标签: javascript summernote


    【解决方案1】:

    想通了,确保没有summernote编辑器在页面上显示的计算出的html,否则它可能会混淆它应该附加到哪个div

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2019-02-13
      • 2017-05-10
      相关资源
      最近更新 更多