Как вывести данные JSON в аттрибут data-*
Есть загнанные в локальное хранилище данные (таблица):
$(function() { $('#but2').click(function() { var jsonArr = []; var obj = {}; var thNum = document.getElementsByTagName('th').length; var arrLength = document.getElementsByTagName('td').length; for (i = 0; i < arrLength; i++) { if (i % thNum === 0) { obj = {}; } var head = document.getElementsByTagName('th')[i % thNum].innerHTML; var content = document.getElementsByTagName('td')[i].innerHTML; obj[head] = content; if (i % thNum === 0) { jsonArr.push(obj); } } document.write("<br>" + JSON.stringify(jsonArr)); localStorage.setItem('myStorage', JSON.stringify(jsonArr)); }); }); Нужно вывести данные из хранилища в аттрибут data-name: <button class="good-item__btn-add btn btn-info btn-sm js-add-to-cart" data-id="11" data-name="сюда вывести данные" data-price="1500"> Добавить в корзину </button> Пробую нечто подобное: $(function(){ $('#12345').click(function() { $( "#123456" ).attr({ data-name: "Beijing Brush Seller" }); }); }); Поставить заранее заданный текст получается, но никак не могу понять каким образом вывести именно таблицу из локального хранилища (желательно в приемлемом виде).... Прошу помогите! |
$( "#id" ).attr({ 'data-name': localStorage.getItem('myStorage') });Очевидно же, даже если вы вообще не умеете программировать, чисто из контекста. |
<button class="good-item__btn-add btn btn-info btn-sm js-add-to-cart" data-id="b11" data-name="сюда вывести данные" data-price="1500">Добавить в корзину</button> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> var arr = [{'head':'nn'},{'head':'name'},{'head':'age'}]; $('.btn').data('name',arr); alert(JSON.stringify($('.btn').data('name'))); </script> |
Dilettante_Pro, jquery .data не пишет в атрибут data, "бай дезижн". Вот такие чудеса.
|
Цитата:
|
laimas, я знаю что это и как это сделано. А вот с какого хрена так контринтуитивно сделано в jquery - вопрос. Единственный плюс - возможность привязывать объекты, но с этим и .prop бы справилось.
И да, факт в том, что .data - не ответ на вопрос wintersoft. |
Цитата:
|
Цитата:
alert(JSON.stringify($('.btn').data('name'))); - показать, что вообще-то оно записалось, и может быть доступно. Просто как альтернатива. |
Часовой пояс GMT +3, время: 15:06. |