1

我正在寻找一种优雅的方式将数据添加到服务器端的元素,以便 jQuery/JavaScript 可以使用它。我也不想对服务器进行太多调用,因此数据必须预先存在。

场景示例。服务器端(PHP),我创建了一个用户图像列表。为此,我想添加姓名、姓氏、年龄等。
单击图像时,jQuery 必须对这些数据进行处理。

我考虑过的可能性:
将数据作为href,然后单击,获取href并返回false。
将数据作为类。

有没有更好的方法?

4

4 回答 4

6

data-HTML 规范为此目的保留了以 开头的属性。例如:

<p data-name="John Doe" data-age="256">Hello World</p>

只要您遵循data-*格式,您可以随意命名它们。

如果您需要结构化语义数据,请考虑使用带有适当模式的RDFa Lite 。

于 2012-12-18T09:48:58.667 回答
1

对于 HTML5,您有自定义数据属性

如果您想要旧规范的有效 HTML,最好的选择可能是将数据嵌入到<span>元素中,这些元素的样式display:none和定位方式将它们与图像相关联并且易于使用 jQuery 访问(例如,作为具有一个特定的类)。

于 2012-12-18T09:55:26.410 回答
0

您可以创建data属性:

<a href="link.html" data-content="demo">Text</a>

然后阅读它们:

$('a').data('content');
于 2012-12-18T09:51:08.687 回答
0

如果您有很多数据元素,您可以通过将数据存储在 Javascript 变量中来将它们排除在标记之外,并且只需使用data-useridorid属性来存储对用户数据的 ID 引用。

例如,如果您有一个 PHP 用户数组,您可以将其 json_encode 为 Javascript 变量:

var users = <?php echo json_encode($users); ?>;

在您的标记中,只需存储 ID:

<img src="..." alt="..." data-userid="x" />

然后,您可以在 Javascript 数组中查找数据。这种方法的好处是,如果您需要存储大量数据,它不会对标记造成干扰。

于 2012-12-18T09:56:14.960 回答