2011-5 日志
一个字符的差错,导致数个小时的困惑,编程序不能不小心。
function test()
{ if (infowindowDistance == null) { infowindowDistance = new google.maps.InfoWindow( { content: 'null', size: new google.maps.Size(100, 100) }); var contentString = "<div style='z-index: 101; width: 100px; height: 100px; text-align: center;' id='divDistance'>"; //contentString += "<br/>"+GetTransferInfo("长度")+":<label id='lbl_distance_value'></label>"+GetTransferInfo("公里")+"<br/></div>"; contentString += "<br/>长度:<label id='lbl_distance_value'></label>公里<br/></div>"; infowindowDistance.setContent(contentString); }
}
原因把 contentString += "<br/>长度:<label id='lbl_distance_value'></label>公里<br/></div>";
写成了 contentString += "<br/>长度:<label id='lbl_distance_value'></label>公里<br/><div>";
一个字符导致界面出现了奇怪的问题,无论如何也无法设置 lbl_distance_value 的内容。
var latlng = new google.maps.LatLng(34.397, 150.644);infowindowDistance.setPosition(latlng);infowindowDistance.open(_mapPage);//var infowindowdiv = document.all.divDistance;//alert(infowindowdiv.outerHTML);//在另外的地方通过事件方式open消息框,然后读取内部内容则是可以的。document.all.lbl_distance_value.innerHTML = "ddddddddd";//导致失败document.getElementById("lbl_distance_value").innerHTML = "ddddddddd";//导致失败alert("lbl_distance_value="+document.getElementById("lbl_distance_value").innerHTML);alert(infowindowDistance.getContent());
写程序要建立良好的格式习惯,不能为了图省事,或者减少及行代码,将格式混在一起。
如果像下面一样独立其一行表示格式,如使用contentString += "</div>";就不容易出现少了符号的事情。
形式主义的东西在有些时候是必要的,不能少的。
if (infowindowDistance == null)
{infowindowDistance = new google.maps.InfoWindow({content: 'null',size: new google.maps.Size(100, 100)});var contentString = "<div style='z-index: 101; width: 100px; height: 100px; text-align: center;' id='divDistance'>";contentString += "<br/>"+GetTransferInfo("长度")+":<labelid='lbl_distance_value'></label>"+GetTransferInfo("公里")+"<br/>";contentString += "</div>";infowindowDistance.setContent(contentString);
}