Estoy tratando estos HTMLCómo establecer el formato JSON a atributos de datos HTML5 en el jQuery
<div data-params="{a: 1, b: '2'}" id="TEST1"></div>
<div data-params='{"a": 1, "b": "2"}' id="TEST2"></div>
Luego uso de métodos de datos() en el jQuery
$('#TEST1').data('params'); //return a string
$('#TEST2').data('params'); //return a object
Pero PRUEBA1 que no es una devolver objeto, pero una cadena, solo puede devolver el objeto TEST2. Pero quiero obtener un objeto por TEST1, ¿Cómo lo hago?
=============
Finalmente, decide escribir una función para lograr sus propias necesidades
$.fn.data2 = function(key, value)
{
if (value === undefined)
{
var data = $(this).data(key);
if (typeof(data) === 'string')
{
var _data = data.replace(/^[\s\r\n]*/g, '').replace(/[\s\r\n]*$/g, '');
if (_data.match(/\{.*\}/) || _data.match(/\[.*\]/)) {
try {
_data = (new Function('return ' + data))();
if (typeof(_data) == 'object') {
$(this).data(key, _data);
data = _data;
}
} catch(ex) {}
}
}
return data;
}
return $(this).data(key, value);
};
Pero eso trato de usar plug-in jquery.metadata es a trabajar? – Jasper
¿Hay alguna forma de que jQuery analice de la misma manera que el primer complemento HTML jquery.metadata? – Jasper