为什么会出现无法获取未定义或 null 引用的属性“x”的错误啊

淡定学渣 2015-07-27 04:09:11
function processJson(json){
var rcode=json.ret;
$("#vinfo2").attr("innerHTML","rcode="+rcode);
if (rcode=="0"){
//成功
var body=json.position;
var m_x=body[0].x;
var m_y=body[0].y;
$("#vinfo4").empty();
//循环输出定位设备
for(i=body.length-1;i>=0;i--){

$("#vinfo4").append("<br><span id='addinfo"+i+"'>" + body[i].devicdid + "</span>");
$("#addinfo"+i).click(function(){addPoint(body[i].x,body[i].y);alert("x=" + body[i].x + ",y=" + body[i].y);})
//$("#addinfo"+i).click(function(){addPoint(m_x,m_y);alert("x=" + m_x + ",y=" + m_y);})
}
$("#vinfo3").attr("innerHTML","x="+m_x+",y="+m_y);
}
...全文
13308 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
不懂 就问 2016-12-20
  • 打赏
  • 举报
回复
您可以告诉我 如何实用的 上面的代码 放在那里使用呢
淡定学渣 2015-07-30
  • 打赏
  • 举报
回复
非常感谢,成功了。我从来没见过这种用法哎,这是什么用法啊?
天际的海浪 2015-07-28
  • 打赏
  • 举报
回复
你这是事件中用了外面的循环变量的问题,看我#2楼的代码
淡定学渣 2015-07-28
  • 打赏
  • 举报
回复
我就是不知道为什么会初见null值啊,明明里面有数据的, var m_x = body[0].x; var m_y = body[0].y; 无论是0,1, 2都是可以取到数据的。
离子漂浮物 2015-07-27
  • 打赏
  • 举报
回复
提示不是说得很清楚吗? body[i]里现出现了null值,你应该检查为什么会出现null值。代码里看不出来,就去找你的数据源。 或是你干脆这样

$("#addinfo"+i).click(function(){ if(body[i]){ addPoint(body[i].x,body[i].y);alert("x=" + body[i].x + ",y=" + body[i].y);} })
淡定学渣 2015-07-27
  • 打赏
  • 举报
回复
有0元素,在浏览器里运行后会显示如下代码:
<span id="vinfo4" style="color: green;"><br>
<span id="addinfo2">5280C715-3974-4209-AE79-5DF50E6CFF7C</span><br>
<span id="addinfo1">353327022360476</span><br>
<span id="addinfo0">20AD69B8-0268-4979-91B2-192EE532C928</span>
</span>
天际的海浪 2015-07-27
  • 打赏
  • 举报
回复
function processJson(json){ var rcode=json.ret; $("#vinfo2").attr("innerHTML","rcode="+rcode); if (rcode=="0"){ //成功 var body=json.position; var m_x=body[0].x; var m_y=body[0].y; $("#vinfo4").empty(); //循环输出定位设备 for(i=body.length-1;i>=0;i--){ (function (i){ $("#vinfo4").append("<br><span id='addinfo"+i+"'>" + body[i].devicdid + "</span>"); $("#addinfo"+i).click(function(){addPoint(body[i].x,body[i].y);alert("x=" + body[i].x + ",y=" + body[i].y);}) //$("#addinfo"+i).click(function(){addPoint(m_x,m_y);alert("x=" + m_x + ",y=" + m_y);}) })(i); } $("#vinfo3").attr("innerHTML","x="+m_x+",y="+m_y); }
天际的海浪 2015-07-27
  • 打赏
  • 举报
回复
确认json.position中是否有 0 元素,0 元素是否是个对象

87,884

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧