【问题标题】:Business data in webpage: where and how to store it?网页中的业务数据:存储在哪里以及如何存储?
【发布时间】:2011-10-30 09:29:43
【问题描述】:

我需要 HTML 页面中的业务数据。此数据与 DOM 没有直接关系,但用于处理 DOM 上的 javascript(和/或 jquery)操作。例如,我应该知道 id=100 的对象包含 id 为 1001、1002 和 1003 的对象。

object (id=1000) = {1001,1002,1003}

我一直在四处打听,但听到了不同的想法。

目前为止的一些解决方案

一个数据列表。

<dl id="1000">
  <dt>1001</dt>
  <dt>1002</dt>
  <dt>1003</dt>
</dl>

标签中的类

<span id="1000" class="o_1001 o_1002 o_1003">
      (or any other tag ?)
<dl id="1000" class="o_1001 o_1002 o_1003">

更新:根本不在 HTML 中?因为它是关于 javascript 所需的数据,所以我不妨直接把它放在 javascript 中?

<script>
   var object = { id : 1000, value : [1000,1001,1002]; }
   storeGlobal(object);
</script>

而 storeGlobal 将是 js 脚本中的全局变量,现在也有数据。

有什么想法吗?

【问题讨论】:

  • 这就是说:您可以将数据放入属性中。真是的。但是哪里?以及什么属性?
  • 您可以将它放在 HTML 元素的属性中(例如 id 或类):而不是 &lt;span id="1000" class="o_1001 o_1002 o_1003"&gt;,使用 &lt;span data-id="1000" data-contains="o_1001 o_1002 o_1003"&gt;
  • 确实,tx,我可能会在我的 DOM 中使用它

标签: javascript jquery html


【解决方案1】:

如果它只是您将在 javascript 中使用的数据,请将其编写为 javascript 并完成它。不要无缘无故地将它推入 DOM。您可以将其作为 javascript 文字(可能由服务器上的 JSON.stringify 之类的东西生成)或作为您的 javascript 通过 ajax 请求检索的不同 JSON 文档。

【讨论】:

  • 我只需要创建一个 div(例如
    )并且 javascript 在一个单独的文件中。但实际上我可以使用我的第三个选项并在我的 html 中创建
【解决方案2】:

如果数据在某种程度上与 DOM 中的某些元素相关,您可以使用jQuery.data()。这是在页面中存储数据的一种非常好的和干净的方式。

如果它与任何 DOM 元素无关,那么在 JS 中将其完全作为数组/对象处理可能是最简单的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2011-06-29
    相关资源
    最近更新 更多