在HTML数据属性上添加JSON是不是很糟糕?

Goo*_*bot 28 html javascript json

由于HTML data属性允许添加任何自定义数据,我想知道将一组JSON列表作为data属性包含是一个好主意吗?然后,相应JSONJavaScript事件可以通过事件轻松访问getAttribute("data-x").

实际上,我的问题是:向HTML属性添加大量数据是标准的,高效的和合理的吗?

例如

<div data-x="A LARGE SET OF JSON DATA" id="x">
Run Code Online (Sandbox Code Playgroud)

或者大量的JSON数据必须存储在<script>标记内,并且HTML属性不适合大型数据集,即使对于data属性也是如此.

Ben*_*ing 36

您可以使用标识符来访问数据,而不是将所有内容存储在数据属性中.

例如,你可以这样做:

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

                   };
Run Code Online (Sandbox Code Playgroud)

然后你有一些像这样的HTML:

<div data-dataId="data1" id="x">
Run Code Online (Sandbox Code Playgroud)

您现在可以使用jquery来获取数据:

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

var myData = myBigJsonObj[dataId];
Run Code Online (Sandbox Code Playgroud)

这是最好的方法imho.

  • 这可能并不总是有效.特别是当您想从服务器端设置数据时. (2认同)