RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 931064
Accepted
zeni1agent
zeni1agent
Asked:2020-01-12 00:52:45 +0000 UTC2020-01-12 00:52:45 +0000 UTC 2020-01-12 00:52:45 +0000 UTC

如何将javascript生成的HTML代码放入变量或数组中

  • 772

我需要将在 javascript 中创建的 HTML 代码的结果以常规 HTML 代码的形式保存到变量或数组中,为此我创建了以下代码

var youf = [];
var STICKIES = (function() {
  var initStickies = function() {
      $("<div />", {
        text: "+",
        "class": "add-sticky",
        click: function() {
          createSticky();
        }
      }).prependTo(document.getElementById('hint-add'));
      initStickies = null;
    },
    openStickies = function() {
      initStickies && initStickies();
      for (var i = 0; i < localStorage.length; i++) {
        createSticky(JSON.parse(localStorage.getItem(localStorage.key(i))));
      }
    },
    createSticky = function(data) {
      data = data || {
        id: +new Date(),
        top: "40px",
        left: "40px",
        text: "Note Here",
        width: '100px',
        height: '100px'
      }
      var content_zametki = $("<div />", {
          "class": "sticky",
          'id': data.id
        })
        .prepend($("<div />", {
            "class": "sticky-header"
          })
          .append($("<span />", {
            "class": "sticky-status",
            text: "status",
            click: saveSticky
          }))
          .append($("<span />", {
            "class": "close-sticky",
            text: "Х",
            click: function() {
              deleteSticky($(this).parents(".sticky").attr("id"));
            }
          })))
        .append($("<div />", {
          html: data.text,
          contentEditable: true,
          "class": "sticky-content",
          keypress: markUnsaved
        })).resizable({
          handle: "div.sticky-content",
          stack: ".sticky",
          start: markUnsaved,
          stop: saveSticky
        })
        .draggable({
          handle: "div.sticky-header",
          stack: ".sticky",
          start: markUnsaved,
          stop: saveSticky
        })
        .css({
          position: "absolute",
          "top": data.top,
          "left": data.left,
          "width": data.width,
          "height": data.height
        }).focusout(saveSticky);
      content_zametki.appendTo(document.getElementById('hint-container'));
      var html_cont = content_zametki.html()
      youf.push(html_cont);
    },
    deleteSticky = function(id) {
      localStorage.removeItem("sticky-" + id);
      $("#" + id).fadeOut(200, function() {
        $(this).remove();
      });
    },
    saveSticky = function() {
      var that = $(this),
        sticky = (that.hasClass("sticky-status") || that.hasClass("sticky-content")) ? that.parents('div.sticky') : that,
        obj = {
          id: sticky.attr("id"),
          top: sticky.css("top"),
          left: sticky.css("left"),
          width: sticky.css("width"),
          height: sticky.css("height"),
          text: sticky.children(".sticky-content").html()
        }
      localStorage.setItem("sticky-" + obj.id, JSON.stringify(obj));
      sticky.find(".sticky-status").text("saved");
    },
    markUnsaved = function() {
      var that = $(this),
        sticky = that.hasClass("sticky-content") ? that.parents("div.sticky") : that;
      sticky.find(".sticky-status").text("unsaved");
    };
  return {
    open: openStickies,
    init: initStickies
  };
}());
STICKIES.open();
youf.forEach(function(element) {
  alert(element);
});

在命令的帮助下,content_zametki.html()我能够保存几乎所有的 HTML 代码

<div class="sticky-header"><span class="sticky-status">status</span><span class="close-sticky">Х</span></div>
<div contenteditable="true" class="sticky-content">sder</div>
<div class="ui-resizable-handle ui-resizable-e" unselectable="on"></div>
<div class="ui-resizable-handle ui-resizable-s" unselectable="on"></div>
<div class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se" unselectable="on" style="z-index: 1001;"></div>

但是问题是他没有看到第一个div sticky ,结果整个HTML代码应该在变化中

var html_cont = '<div class="sticky ui-resizable ui-draggable" id="1547153267220" style="position: absolute; top: 127px; left: 651px; width: 811px; height: 308px;"><div class="sticky-header"><span class="sticky-status">status</span><span class="close-sticky">Х</span></div><div contenteditable="true" class="sticky-content">sder</div><div class="ui-resizable-handle ui-resizable-e" unselectable="on"></div><div class="ui-resizable-handle ui-resizable-s" unselectable="on"></div><div class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se" unselectable="on" style="z-index: 1001;"></div></div>';

但是我该怎么做呢,不知道有没有人有什么建议?

我创建了一个 codepen来更好地理解这段代码的作用。

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    user176262
    2020-01-12T00:58:16Z2020-01-12T00:58:16Z
    var allHTML = content_zametki[0].outerHTML;
    

    或者

    var allHTML = $('<div>').append(content_zametki.clone()).html();
    
    • 2

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5