jquery - 从每个循环创建正确的 JSON

标签 jquery json each

我试图在每个循环之外创建一个 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/

相关文章:

jquery - 什么会导致 jquery.data() 消失?

javascript - 触发在不同代码块中分配的 jQuery 事件处理程序

javascript - 如何从函数本身外部的 ajax 调用访问数据

JQuery .each() 切换隐藏元素

javascript - 在 Javascript 中使用 iFrame 进行跨浏览器打印

javascript - 验证动态添加的输入字段

javascript - 使用 WordPress 瞬时缓存和 AJAX json 脚本的问题

php - 使用 AJAX 和 PHP 模仿 Google 建议

javascript - PhpStorm警告: argument type not assignable to parameter type

java - 如何在 Java 中实现 Ruby 的 ".each"方法?