我正在为加载选项的select元素存储以下数据属性。
<select name="DependsOn_Field" data-load='automatic' data-source='web.module().fields' data-value='name' data-display='label' data-filter='exclude_single' id='DependantField'></select>
我的问题是,当需要为单个DOM元素存储许多数据属性时,最好的方法是什么?具有JSON数据的单个数据属性或每个所需值具有单独的数据属性是否更好。
答案 0 :(得分:2)
我认为问题归结为数据属性是静态的吗?他们可能会改变吗?如果他们要改变或者您可能想要编辑它们,那么JSON肯定更好。但是,如果它们是静态的并且您只是要读取这些属性,我认为数据属性很好,这正是数据属性的用途。我知道它看起来很麻烦,因为你有很多属性,但我认为它很好。
通过更改或编辑编辑,我的意思是在客户端浏览器中动态编辑它们。
希望这会有所帮助。
答案 1 :(得分:1)
这完全取决于它们的使用方式。
如果您的值是简单字符串并且您是从JavaScript访问它们,那么将它们保存在data-
属性中可能是有意义的。
如果您的值是复杂的JSON对象,那么将完整的JSON值存储在data-
属性中更有意义,并定义一个将读取它的帮助器(假设为简单起见,jQuery可用):
function getElemData(elem) {
var $elem = $(elem);
var elemData = $elem.data("_jsonData");
if (!elemData) {
elemData = JSON.parse($elem.attr("data-json-data"));
$elem.data("_jsonData", elemData);
}
return elemData;
}
最后,如果数据只是被传递(例如,由服务器编写,然后直接在其他地方读取和发送),那么将整个blob保持在一个data-
中是非常有意义的。 attribut。