0

我想将在需要之前不会呈现的 html 存储在可以保存原始 html 代码而不在页面加载时呈现它的标记中,或者将其存储在 php 或 jquery 变量中以供以后使用。然后我希望能够在单击按钮时将 html 插入 DOM 并使其呈现。

我已经尝试将它存储在 xmp 标记中,因为它可以存储带有 < 和 > 字符的 html 代码,而不使用它们的字符代码,但是当尝试将其插入 DOM 时,更新的源显示它已被复制但它不会'不在屏幕上渲染。还尝试将其存储在代码标签中,该代码标签适用于桌面浏览器,但不适用于移动 safari。由于这是一个 webapp,移动浏览器的兼容性很重要。

有人知道这样做的好方法吗?

4

2 回答 2

1

这取决于您要在哪里生成相关内容。如果您更容易设置在服务器端生成它,您可以使用css隐藏这些部分(如display:none)并删除 css 属性或使用 javascript 抓取节点并将它们放在其他地方,如下所示:

$('.target').html($('.hidden_node').html());

如果要在 js 端生成内容,可以将其构建为长字符串,然后将其推入目标中,也可以使用jquery 的节点生成语法,例如:

 $('<div />').attr({
   class: 'test'
 }).appendTo("body");

或者,您可以使用各种 javascript 模板解决方案之一,例如mustachehandlebars

于 2012-08-19T19:41:56.367 回答
1

尝试使用or<script>类型的标签:text/plaintext/html

<script type="text/plain" id="example">
  <div class="example">
    <h2>Hello</h2>
    <p>World</p>
  </div>
</script>

$(".button").click(function () {
  var html = $("#example").text();
  $("#destination").html(html);
});
于 2012-08-19T19:44:52.590 回答