需要 $.each 函数来更改 json 字符串
Needing $.each function to alter json string
myData = {"a1":"tom","a2":"dick","a3":"harry"};
<div id="a1">D1</div>
<div id="a2">D2</div>
<div id="a3">D3</div>
我使用:
$.each( myData, function( key, value ) {
$( "#" + key ).text( value );
});
将 JSON 值加载到具有相应 ID 的div 中。 但是我现在想将div 内容移动到相应的 json 值,如下所示:
myData.a1 = $( "#a1" ).text();
这确实会导致:
{"a1":"D1","a2":"dick","a3":"harry"};
但是我需要一个 $.each 函数来迭代集合,类似于我的加载函数。 有什么想法吗? 也许是一个JSFiddle?
获取div
并迭代它们:
var myData = { /* ... */ };
$("div").each(function () {
var id = $(this).attr("id");
var val = $(this).text();
myData[id] = val;
});
但是,您必须比简单的$("div")
更具体。
在
要获取文本的每个项目上放置一个通用类名,并将 id 保留为键,就像您拥有它一样。 假设您使用了类名"myDataCommon"。 然后,您可以使用这样的代码来获取所有值,并将它们放入以 id 为键的对象中:
var data = {};
$(".myDataCommon").each(function() {
data[this.id] = $(this).text();
});
小提琴:http://jsfiddle.net/q1w1fk5t/
.HTML:
<div id="a1">D1</div>
<div id="a2">D2</div>
<div id="a3">D3</div>
JQuery:
var myData = {};
$("div").each(function () {
myData[$(this).attr("id")] = $(this).html();
});
alert(JSON.stringify(myData));
输出:
您将获得一个 JSON 字符串作为输出。
{"a1":"D1","a2":"D2","a3":"D3"}
你的意思是:
myData = {"a1":"tom","a2":"dick","a3":"harry"};
$.each( myData, function( key, value ) {
myData[key] = $("#"+key).text();
});
相关文章:
- 如何使用JSON字符串中的jQuery填充下拉框
- Json字符串可以'当字符串末尾有“'时,t解码;
- jquery从2个json字符串构建一个复选框表单
- RegEx只匹配JSON字符串中最里面的数组
- json字符串的Javascript帖子:没有任何东西传入或返回
- 使用javascript在MVC视图中解析.net JSON字符串
- 用Angularjs+Typescript将GZip Json字符串解压为普通Json字符串
- 如何将表单数据传递给PHP并将json字符串返回给Javascript
- 如何使用AngularJS应用基于Json字符串响应的条件CSS类
- 停止JSON.parse()从JSON字符串数据中删除尾随零
- 将JSON字符串转换为函数参数
- 在AngularJS中创建JSON字符串
- 为什么我不能使用jQuery.parseJSON(json)解析json字符串
- Json字符串更改日期
- JSON字符串格式错误
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- C#JSON字符串到JavaScript数组
- 如何在JSON字符串中实现嵌套HTML
- 如何从带有多个对象的JSON字符串创建JSON对象
- 使用捕获组查找和替换json字符串中出现的所有短语