Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.08.2018, 18:37
Новичок на форуме
Отправить личное сообщение для wintersoft Посмотреть профиль Найти все сообщения от wintersoft
 
Регистрация: 27.09.2017
Сообщений: 7

Как вывести данные 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"
});
});
});
Поставить заранее заданный текст получается, но никак не могу понять каким образом вывести именно таблицу из локального хранилища (желательно в приемлемом виде)....

Прошу помогите!
Ответить с цитированием
  #2 (permalink)  
Старый 08.08.2018, 18:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,517

$( "#id" ).attr({
  'data-name': localStorage.getItem('myStorage')
});
Очевидно же, даже если вы вообще не умеете программировать, чисто из контекста.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 08.08.2018, 18:58
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<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>
Ответить с цитированием
  #4 (permalink)  
Старый 08.08.2018, 19:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,517

Dilettante_Pro, jquery .data не пишет в атрибут data, "бай дезижн". Вот такие чудеса.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 08.08.2018, 20:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Aetae
Вот такие чудеса
Не чудеса, data, это объект связанный с элементом.
Ответить с цитированием
  #6 (permalink)  
Старый 08.08.2018, 21:31
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,517

laimas, я знаю что это и как это сделано. А вот с какого хрена так контринтуитивно сделано в jquery - вопрос. Единственный плюс - возможность привязывать объекты, но с этим и .prop бы справилось.
И да, факт в том, что .data - не ответ на вопрос wintersoft.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 08.08.2018, 22:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Aetae
А вот с какого хрена так контринтуитивно сделано в jquery - вопрос.
Вот этого я не знаю )
Ответить с цитированием
  #8 (permalink)  
Старый 09.08.2018, 10:15
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от Aetae
jquery .data не пишет в атрибут data
Увы, я в курсе. Именно поэтому вывел результат через
alert(JSON.stringify($('.btn').data('name')));

- показать, что вообще-то оно записалось, и может быть доступно.
Просто как альтернатива.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать определенное содержимое в файл Json? Floky Node.JS 2 21.07.2018 17:23
Получить данные json через POST-запрос и вывести в графике highcharts skilful Элементы интерфейса 0 26.11.2017 20:36
Как отправить данные в Form Data вместо Request Payload? Shitbox2 Angular.js 2 26.05.2013 22:40
Как вывести данные JSON Dodik Общие вопросы Javascript 6 24.05.2013 11:52
Как разделить данные в JSON vyaceslav.kr jQuery 2 14.07.2012 18:34