Ok, так что окончательное решение, с комбинацией чего-то я нашел в Интернете плюс @Vega и @adeneo ответы, здесь мы идем ...
Используя следующую JQuery метод позволяет мне получить все по телефону пустой Attr():
(function($) {
var _old = $.fn.attr;
$.fn.attr = function() {
if (this[0] && arguments.length === 0) {
var map = {};
var i = this[0].attributes.length;
while (i--) {
map[this[0].attributes[i].name.toLowerCase()] = this[0].attributes[i].value;
}
return map;
} else {
return _old.apply(this, arguments);
}
}
}(jQuery));
я могу извлечь все атрибуты, как это:
var data = $(document.getElementById(id)).attr();
При том, что я держу атрибуты элементов ТОЧНО, как они, как это было раньше (с регулировкой HTML5):
<div id="helloworld"
data-call="chart"
data-width="350"
data-height="200"
data-stacked="true"
data-value="[[4, 8, 1, 88, 21],[45, 2, 67, 11, 9],[33, 4, 63, 4, 1]]"
data-label="['test1', 'test2', 'test3', 'test4', 'test5']"/>
Затем я использую JSON.parse(), чтобы иметь дело с данными стоимости , а затем используйте метод @ adeneo для обработки массива строк.
data.value = JSON.parse(data.value);
data.label = data.label.split(',').map(function(val) { return val.trim().replace(/(\'|\[|\])/g,''); });
Для моих собственных целей других JS-код, я просто обрежьте данных- от ключа, и теперь все кошерно !!
for (key in data) {
var newKey = key.replace("data-","");
if (newKey != key) {
data[newKey] = data[key];
delete data[key];
}
}
Теперь я могу передать данные моей существующей функции !!!! :)
Как я звала свою функцию до:
var data = {
id: 'helloworld',
width: 350,
height: 200,
value: [
[4, 8, 1, 88, 21],
[45, 2, 67, 11, 9],
[33, 4, 63, 4, 1]
],
stacked: true,
label: ["test1", "test2", "test3", "test4", "test5"]
};
chart(data);
Теперь я мог бы использовать JQuery, найти все элементы с определенным именем класса, то просто разобрать атрибуты для запуска вызова. :)
Те, кто кажется настраиваемыми атрибутами, не должны определять свои собственные атрибуты, если вы не используете атрибуты '[data - *]'. – zzzzBov
Это только если вы хотите проверить свой html. – Alan
Хороший звонок, после этого я преобразую их в [data- *]. Спасибо. – codenamezero