Javascript 未追加jQuery json值

Javascript 未追加jQuery json值,javascript,jquery,json,Javascript,Jquery,Json,这是我的代码: success: function (data) { var jsonData = $.parseJSON(data); console.log("done"); $.each(jsonData, function(key, value) { if (value !== "") { console.log("working on " + "#"+key+".di

这是我的代码:

        success: function (data) {
            var jsonData = $.parseJSON(data);
            console.log("done");
            $.each(jsonData, function(key, value) {
                if (value !== "") { console.log("working on " + "#"+key+".div")
                    $("#"+key+".div").append("<pre>"+value+"</pre>");
                }
            });
        }
是打印的,所以我知道if语句不是问题所在

我认为错误在于这一行:

<div id="prx1.sjc.div"></div>
<div id="prx2.sjc.div"></div>
<div id="sh1.sjc.div"></div>
<div id="sh2.sjc.div"></div>
<div id="sh3.sjc.div"></div>
<div id="sh4.sjc.div"></div>
<div id="sh5.sjc.div"></div>
<div id="sh6.sjc.div"></div>
$(“#”+key+.div”).append(“+value+”);
但我不知道我到底错过了什么

示例性HTML:

$("#"+key).append("<pre>"+value+"</pre>"); //You don't need to add a tag selector, since you already have the id of the element

我假设您正在尝试向id为
“#”+键的div添加内容
使用

$(“div#“+键)。追加(“+value+”);

$(“#”+键)。追加(“+value+”)//您不需要添加标记选择器,因为您已经拥有元素的id

在id(或类)属性中使用点不是一个好做法

如果要引用这样的id:

圆点保留在表格中。在链接引用中,写入了:

要使用任何元字符(例如 !“#$%&'()*+,./:;?@[]^`{124;}~)作为名称的文字部分,它必须 可以用两个反斜杠转义:\\。例如,一个元素 id=“foo.bar”,可以使用选择器$(“#foo\\.bar”)

在不转义点的情况下,您将选择id为“sh6”的对象,该对象有两个类“sjc”和“div”,类似于


验证您使用的选择器的正确性更容易

what is
.div
,您是否可以共享目标元素的html
$(“#“+key+.div”)的值是多少
,你能提供它应该匹配的元素吗?我们能看到HTML吗?这个选择器很奇怪:为什么不使用“#”+键呢?如果你用
id
标识要附加到的所选元素,你不应该需要
.div
(上面写着“class=”div“)@DevlshOne-我明白了。你知道使用jQuery用反斜杠转义那些点字的方法吗?看我的HTML,我相信我使用的选择器很好。你能改变id的生成方式吗?因为你的选择器
#prx1.sjc.div
会试图找到id为“prx1”的元素,css类为“sjc”和“div”,因此失败g查找元素。太多是基于这些元素的。这是jQuery将“.div”作为类处理的问题吗?(尽管计算的字符串是#prx1.sjc.div)是的,这就是jQuery对待选择器的方式,但是@MPavesi已经提供了一个逃避“.”的答案。尝试一下,我怀疑这就是问题所在。是否有可以使用的搜索和替换功能?(查找“.”并替换为“\”)@elad.chen在Eclipse和任何其他IDE中都有一个搜索和替换函数。但是你在javascript中搜索替换函数吗?我认为没有必要:如果你的ID格式是这样的,你只需编辑js函数。将此添加到你的答案中,我会将其标记为接受的。
<div id="prx1.sjc.div"></div>
<div id="prx2.sjc.div"></div>
<div id="sh1.sjc.div"></div>
<div id="sh2.sjc.div"></div>
<div id="sh3.sjc.div"></div>
<div id="sh4.sjc.div"></div>
<div id="sh5.sjc.div"></div>
<div id="sh6.sjc.div"></div>
$("div#"+key).append("<pre>"+value+"</pre>"); 
$("#"+key).append("<pre>"+value+"</pre>"); //You don't need to add a tag selector, since you already have the id of the element
<div id="sh6.sjc.div"></div>
$("#sh6\\.sjc\\.div")
<div id="sh6" class="sjc div"></div>
console.log("Matching the id sh6.sjc.div, occurrences:"+$("#sh6\.sjc\.div").length);