Короче говоря, мне нужно поместить json в атрибут элемента html, чтобы получить его позже.
Сделав это, я начинаю пересматривать этот json, но вместо ключей и значений есть только некоторые цифры.
Вот этот JSON:
{Type: "gotWeather", Days: [,…]}
Days: [,…]
0: {Sections: [{Temperature: 280.55, Description: "scattered clouds", Time:
"21:00:00", Icon: "03n"}],…}
1: {Sections: [{Temperature: 278.98, Description: "scattered clouds", Time:
"00:00:00", Icon: "03n"},…],…}
2: {Sections: [{Temperature: 282.57, Description: "overcast clouds", Time:
"00:00:00", Icon: "04n"},…],…}
3: {,…}
4: {Sections: [{Temperature: 285.953, Description: "light rain", Time:
"00:00:00", Icon: "10n"},…],…}
5: {Sections: [{Temperature: 280.9, Description: "light rain", Time:
"00:00:00", Icon: "10n"},…],…}
Type: "gotWeather"
В соответствии с кодом ниже я ставлю:
socket.onmessage = function(evt){
var json = JSON.parse(evt.data);
weatherAnswer(json);
}
function weatherAnswer(json){
// ...
var buttons = prepareButtons(json);
}
function prepareButtons(json){
var buttonsList = document.createElement("ul");
buttonsList.classList.add("ButtonsList");
//Done
buttonsList.setAttribute("json" , json);
}
Далее я поместил кнопки в ul li и определил слушателя для нажатия на эти кнопки:
function clicking(){
var li = this.parentElement;
// buttonsList equals to the UL keeping the json in attributes
var buttonsList = li.parentElement;
var json = buttonsList.getAttribute("json");
console.log(Object.keys(json));
}
Тип json [объектный объект];
В результате получаю следующее -
15) ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
"13", "14"]
0: "0"
1: "1"
2: "2"
3: "3"
4: "4"
5: "5"
6: "6"
7: "7"
8: "8"
9: "9"
10: "10"
11: "11"
12: "12"
13: "13"
14: "14"
length: 15
__proto__: Array(0)
Но это должно быть как наверху истории.