在 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 属性中,然后您可以使用 JavaScript
在 Substring
函数的帮助下将其拆分为数组
<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 中存储值数组的最佳实践?的主要内容,如果未能解决你的问题,请参考以下文章