1

我想在 html 页面上存储一些额外的数据,并根据客户的要求使用这些数据来使用 JS 显示不同的东西。我应该如何存储这些数据?在不可见的 div 中,还是别的什么?有一些标准的方法吗?

4

7 回答 7

1

我认为没有标准的方法;我会将它们存储在 JavaScript 源代码中。

于 2009-09-27T10:20:14.843 回答
1

我认为如果你使用 JS 来显示它,你应该将它存储在某种 JS 数据结构中(取决于你想要做什么)。但是,如果您只想将一个元素交换为另一个元素,那么不可见 [在此处插入元素类型] 也可以很好地工作。

于 2009-09-27T10:21:07.640 回答
0

之一:

  1. 隐藏的输入字段(如果您想将其提交回服务器);或者
  2. 页面上的隐藏元素(由 CSS 隐藏)。

每个都有应用程序。

例如,如果您使用 (1) 来识别有关表单提交的某些内容,则您永远不应该在服务器上依赖它(就像来自客户端的任何内容一样)。(2) 对于诸如“丰富”的工具提示、对话框和其他通常在页面上不可见的内容等内容最有用。通常,内容要么是可见的,要么是适当的克隆,可能在过程中被修改。

于 2009-09-27T10:20:43.827 回答
0

如果我需要在 html 中添加一些信息,这些信息将由 javascript 使用,那么我使用

<input id="someuniqueid" type="hidden" value="..." />
于 2009-09-27T10:22:01.040 回答
0

不可见的 div 通常是要走的路。如果您知道首先需要显示什么,您可以通过只加载最初的内容,然后使用 AJAX 调用加载页面上的剩余元素来改善用户体验。

于 2009-09-27T10:22:42.373 回答
0

您需要将任何类型的数据存储为 HTML 结构中的 HTML。我会说要正确构建您打算在页面上显示为正确 HTML 的数据或内容。确保一切都是完整的、语义化的和可访问的。然后确保 CSS 正确呈现数据。完成后添加内联样式“display:none;” 到您希望动态显示的顶部容器。文本阅读器可以读取该内联样式,因此在元素的显示样式发生更改之前,他们不会阅读它。

然后在准备好后使用 JavaScript 更改容器的样式:

var blockit = function () {
    var container = document.getElementById("containerid");
    container.style.display = "block";
};
于 2009-09-27T11:51:44.923 回答
0

对于少量附加数据,您可以使用HTML5“data-*”属性

<div id="mydiv" data-rowindex="45">

然后使用jQuery 数据方法访问这些字段

$("#mydiv").data("rowindex")

或按属性值选择项目

$('div[data-rowindex="45"]')

将附加数据附加到元素

$( "body" ).data( "bar", { myType: "test", count: 40 } );
于 2015-09-22T05:47:17.110 回答