在 html attr 中存储值数组的最佳实践?

Posted

技术标签:

【中文标题】在 html attr 中存储值数组的最佳实践?【英文标题】:Best practice to store array of values in html attr? 【发布时间】:2015-11-05 02:53:33 【问题描述】:

将值数组存储在 html(来自 php)属性中并稍后从 javascript/jQuery 访问它们的最佳做法是什么?

<div class="storage" someAttr=?? /></div>

它基本上是一个简单的数组,例如 (code_1,code_2,code_3,...) 我正在考虑做一个简单的someAttr="code_1;code_2;code_3" 然后爆炸它:

      var a = $(this).attr('someAttr');
      (a.split(";")).forEach(function (attr)
        console.log(attr);
      );

【问题讨论】:

data 选择器,例如:jQuery selectors on custom data attributes using HTML5 您可以尝试将其从 PHP 格式化为 JSON,然后让 JavaScript 解析它。 我想使用 HTML5 中引入的data-attributes 【参考方案1】:

您可以像这样存储在 html 属性中,然后您可以使用 JavaScriptSubstring 函数的帮助下将其拆分为数组

<li  id="P01[01]"></li>

【讨论】:

【参考方案2】:

您可以在 PHP 端 json_encode 您的数组,在 HTML 端将其添加为 data-attribute,然后在 JavaScript 端将其解析出来。

<!DOCTYPE html>
<html>

  <head>
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script>
      $(document).ready(function() 
        var jsArr = JSON.parse($('#phpArr').attr('data-attr'));
      );
    </script>
  </head>

  <body>
    <span id="phpArr" data-attr='<?php echo json_encode(arr); ?>'></span>
  </body>

</html>

【讨论】:

以上是关于在 html attr 中存储值数组的最佳实践?的主要内容,如果未能解决你的问题,请参考以下文章

最佳实践? - 数组/字典作为核心数据实体属性 [关闭]

python 语法最佳实践

JavaScript 最佳实践通过三个因素过滤数组

在安全区域中存储内容的最佳实践

ReactJS 最佳实践,存储在隐藏字段、状态、本地存储中?

是否有最佳实践/连贯的方法来更新包含哈希键值存储的数据库字段?