Javascript JSON,数组推送函数不适用于由变量定义的键
我的想法是将html数据从具有contenteditable和data type属性的div获取到json或数组。 这就是我所做的 我希望获得具有相同数据类型属性的所有元素,如下所示:Javascript JSON,数组推送函数不适用于由变量定义的键,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我的想法是将html数据从具有contenteditable和data type属性的div获取到json或数组。 这就是我所做的 我希望获得具有相同数据类型属性的所有元素,如下所示: data = { 'title': [{content: 'Value'}], 'content': [{content: 'Value'},{content: 'Value'}] } 但我在使用推送功能时卡住了。有人能给我一个主意吗?使用Array.prototype.push将元素附加到数组中,而不是任何旧
data = {
'title': [{content: 'Value'}],
'content': [{content: 'Value'},{content: 'Value'}]
}
但我在使用推送功能时卡住了。有人能给我一个主意吗?使用
Array.prototype.push
将元素附加到数组中,而不是任何旧对象
例如,在示例中的对象中
data = {
'title': [{content: 'Value'}],
'content': [{content: 'Value'},{content: 'Value'}]
}
。。。您有两个阵列:
data.title
data.content
要将新对象推送到data.title
的末尾,可以执行以下操作:
data.content.push({Content: 'Value'});
现在,您的原始数据对象如下所示:
{
'title': [{content: 'Value'}],
'content': [{content: 'Value'},{content: 'Value'},{content: 'Value'}]
}
将数据
从数组
更改为对象
,并将标题
和内容
属性添加为数组
,如下所示
var data = {}, i = 1;
$('#get').on('click',function(){
data = {
title: [],
content: []
};
$.each($('div[contenteditable="true"]'),function(id, value){
var key = $(this).data('key'),
html = $(this).html();
data[key].push({content: html});
i++;
});
console.log(data);
});
数组数据是我最终需要的,但我的方式请查看JSFIDLE