我试图在每个循环之外创建一个 JSON 树,它从页面上的多个 id 获取信息。考虑每个 id 都有“textHolder1、textHolder2”等名称。
$('[id^="textHolder"]').each(function(){
TextElementID = this.id;
TextElementContent = $(this).text();
TextElementClass = $(this).attr('class');
TextElementStyle = $(this).attr('style');
json = JSON.stringify({textElements:{TextElementID:{textContent:TextElementContent,textClass:TextElementClass, textStyle: TextElementStyle}}}, null, 4);
});
alert(json)
我正在尝试以 JSON 格式获取此输出:
{
"textElements": {
"textHolder1": {
"textContent": "The content",
"textClass": "theclass",
"textStyle": "some-styles"
}
"textHolder2": {
"textContent": "The content1",
"textClass": "theclass2",
"textStyle": "some-styles2"
}
}
}
这是如何完成的,我做错了什么?
最佳答案
您需要构建一个对象,然后使用JSON.stringify
构建最终对象。
var t = {};
$('[id^="textHolder"]').each(function(){
var $this = $(this);
t[this.id] = {
textContent: $this.text(),
textClass: $this.attr('class'),
textStyle: $this.attr('style')
};
});
json = JSON.stringify({textElements: t });
关于jquery - 从每个循环创建正确的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717210/