由于HTMLdata属性允许添加任何自定义数据,我想知道包含JSON个列表作为data属性是不是一个好主意?然后,具有getAttribute("data-x")JavaScript个事件可以容易地访问对应的JSON.

In fact, my question is that: Is it standard, efficient, and reasonable to add a large set of data to an HTML attribute?

For example

<div data-x="A LARGE SET OF JSON DATA" id="x">

或者,一大组JSON数据必须存储在<script>标记中,而HTML属性对于一大组数据来说并不合适,即使对于data属性也是如此.

推荐答案

Instead of storing everything in the data attribute you could use an identifier to access the data.

例如,你可以这样做:

var myBigJsonObj = { 
                      data1 : { //lots of data}, 
                      data2 : { //lots of data}                   

                   };

然后你有一些html,如下所示:

<div data-dataId="data1" id="x">

现在可以使用jQuery获取数据,如下所示:

var dataId = $('#x').attr('data-dataId');

var myData = myBigJsonObj[dataId];

这是最好的方法.

Json相关问答推荐

使用Jolt将字符串数组转换为JSON对象数组

如何创建生成两个不同对象的JSON数组的SQL查询?

无法从JSON解析ZonedDateTime,但可以使用格式化程序很好地解析

在Vega中如何通过滑块改变条形图的宽度

创建Json嵌套文件 struct

Azure数据工厂-WEB活动输出赢得';t返回JSON

在 PowerShell 中通过 aws cli 创建 cloudwatch alert 时出现字符串解析错误

如何使用jolt规范将一个对象添加到另一个对象中并删除该对象

在 CodePipeline 中调用 lambda 时传递用户参数

如何在 Dart 中与多个 map (字典)相交

如何在 Django 的模板语言中获取 json 键和值?

为什么在测试 RSPEC 时 JBuilder 不返回 JSON 中的响应正文

如何判断字符串是否为json格式

如何通过 NSJSONSerialization 在 JSON 中包含空值?

如何判断 JSON 响应元素是否为数组?

JSON Schema:验证数字或空值

如何转换为 D3 的 JSON 格式?

从 Json 对象 Android 中获取字符串值

雅虎财经全币种报价 API 文档

Laravel 5 控制器将 JSON 整数作为字符串发送