Jquery 如何从JSON服务器数据中查找和替换动态ID,并在DOM中使用匹配的ID进行更新

Jquery 如何从JSON服务器数据中查找和替换动态ID,并在DOM中使用匹配的ID进行更新,jquery,Jquery,这已经是几个星期了,我一直在试图找到不同的解决方案,但不能让它正常工作。从fiverr雇了几个,但在那里真的是浪费时间。 以下是我想要的: 我在服务器中有json数据更新_ingame.json。json数据具有html字符。我需要更新前端上具有匹配动态ID的json数据 客户端站点js文件使用节点js(socket),所以它是一个实时更新 更新_ingame.json {"update_ingame":" <div id=\"bt_1001\">2<\/div> &

这已经是几个星期了,我一直在试图找到不同的解决方案,但不能让它正常工作。从fiverr雇了几个,但在那里真的是浪费时间。 以下是我想要的: 我在服务器中有json数据更新_ingame.json。json数据具有html字符。我需要更新前端上具有匹配动态ID的json数据

客户端站点js文件使用节点js(socket),所以它是一个实时更新

更新_ingame.json

{"update_ingame":"
 <div id=\"bt_1001\">2<\/div>
 <div id=\"bt_1052\">3<\/div>
 <div id=\"bt_1011\">4<\/div>"
}
当然,如果我更新整个页面的内容,它会工作得很好,但我的要求是,当用户登录会话时,这些整个页面更新不会工作,这就是为什么我需要更新每个单独的ID


我希望有人能帮助我。我很乐意为任何对此有所了解的人购买咖啡。

正如Justinas建议的那样,如果您可以更改Json结果,那将是最好的。这就是例子3。示例1是如果结果“update_ingame”的属性真的假设为一个长字符串。如果假设它是一个字符串数组,那么这就是示例2

HTML:

<div id="bt_1001">1.4</div>
<div id="bt_1052">2.5</div>
<div id="bt_1011">3</div>
<button id="Example1">Example 1</button>
<button id="Example2">Example 2</button>
<button id="Example3">Example 3</button>
<div id="bt_1135310966">1.4</div>
<div id="bt_1135310974">2.5</div>
<div id="bt_1135310975">3</div>
<div id="bt_1135310976">4</div>
<button id="Example1">Example 1</button>
Javascript:

var data1 = {
  "update_ingame": "<div id=\"bt_1135310966\">4</div><div id=\"bt_1135310974\">2.25</div><div id=\"bt_1135310975\">1.57</div><div id=\"bt_1135310976\">2.2</div>"
};


$("#Example1").on("click",function(){
    var myData = $.parseHTML(data1.update_ingame);
  $.each(myData, function(i,v){
    var value = $(v).text();
    var id = $(v).attr("id");  
    $("#"+ id).text(value);
  });
});
var数据1={
“更新名称”:“42.251.572.2”
};
$(“#示例1”)。在(“单击”,函数(){
var myData=$.parseHTML(data1.update\u ingame);
$。每个(我的数据,函数(i,v){
var值=$(v.text();
变量id=$(v).attr(“id”);
$(“#”+id).text(值);
});
});

正如Justinas所建议的,如果您可以更改Json结果,那将是最好的。这就是例子3。示例1是如果结果“update_ingame”的属性真的假设为一个长字符串。如果假设它是一个字符串数组,那么这就是示例2

HTML:

<div id="bt_1001">1.4</div>
<div id="bt_1052">2.5</div>
<div id="bt_1011">3</div>
<button id="Example1">Example 1</button>
<button id="Example2">Example 2</button>
<button id="Example3">Example 3</button>
<div id="bt_1135310966">1.4</div>
<div id="bt_1135310974">2.5</div>
<div id="bt_1135310975">3</div>
<div id="bt_1135310976">4</div>
<button id="Example1">Example 1</button>
Javascript:

var data1 = {
  "update_ingame": "<div id=\"bt_1135310966\">4</div><div id=\"bt_1135310974\">2.25</div><div id=\"bt_1135310975\">1.57</div><div id=\"bt_1135310976\">2.2</div>"
};


$("#Example1").on("click",function(){
    var myData = $.parseHTML(data1.update_ingame);
  $.each(myData, function(i,v){
    var value = $(v).text();
    var id = $(v).attr("id");  
    $("#"+ id).text(value);
  });
});
var数据1={
“更新名称”:“42.251.572.2”
};
$(“#示例1”)。在(“单击”,函数(){
var myData=$.parseHTML(data1.update\u ingame);
$。每个(我的数据,函数(i,v){
var值=$(v.text();
变量id=$(v).attr(“id”);
$(“#”+id).text(值);
});
});

能否将服务器端JSON更改为
{“update_ingame”:{“bt_1001”:“2”,{…}}
?这会更快更容易。例如,
$('#'+jsonKey).text(jsonValue)
。另外,
jQuery(bt_id)
应该包含
jQuery(“#”+bt_id)
update_ingame.json文件中的数据不是有效的jsonbtw@Justinas谢谢你的建议。当我了解更多的时候,我一定会尝试这个。现在我只是在使用json_encode($HTMLarrays)php编码你能把服务器端的json改成
{“update_ingame”:{“bt_1001”:“2”,“{…}}}}
?这会更快更容易。例如,
$('#'+jsonKey).text(jsonValue)
。另外,
jQuery(bt_id)
应该包含
jQuery(“#”+bt_id)
update_ingame.json文件中的数据不是有效的jsonbtw@Justinas谢谢你的建议。当我了解更多的时候,我一定会尝试这个。现在我正在使用json_encode($HTMLarray)php代码,感谢您花时间响应。我的问题如例1所示。这是一根长长的绳子。我确实测试了你的代码。奇怪的是,它插入的随机值实际上与json中的不匹配。实际上data1.update_ingame控制台输出的纯html字符串如下:42.251.572.2现在我们知道
update_ingame
的正确格式了,我已经更新了小提琴和我的答案。@Matt我仍在考虑重构你的数据。在许多层面上,只传递数据要高效得多。不要传递HTML,而是向两个方向传递数据。@Matt您的感谢已经足够了。我建议您更习惯使用Json来执行Justinas、JonP和我的建议。这更干净,也是最好的方法。感谢您花时间回复。我的问题如例1所示。这是一根长长的绳子。我确实测试了你的代码。奇怪的是,它插入的随机值实际上与json中的不匹配。实际上data1.update_ingame控制台输出的纯html字符串如下:42.251.572.2现在我们知道
update_ingame
的正确格式了,我已经更新了小提琴和我的答案。@Matt我仍在考虑重构你的数据。在许多层面上,只传递数据要高效得多。不要传递HTML,而是向两个方向传递数据。@Matt您的感谢已经足够了。我建议您更习惯使用Json来执行Justinas、JonP和我的建议。这更干净,也是最好的方法。快乐编码