有些日子我正在与这个问题作斗争:我正在使用Jquery从XML中提取数据并将其作为标记放在Google Maps V3上,但是在调试之后它并没有在Chrome和Opera上放置任何标记发现问题在于这一行:
var lat = $(this).find("geo\\:lat").text();
var lng = $(this).find("geo\\:long").text();
在XML中,我需要删除“:”。
虽然在FF和IE中删除“:”的“\”完美无缺,但Chrome和Opera无法正常工作..但如果我转到XML并从该字段中删除“:”并使用此代码运行代码线条,效果很好。
var lat = $(this).find("geolat").text();
var lng = $(this).find("geolong").text();
这是一个复制Chrome和Opera错误的简化版本 http://dl.dropbox.com/u/15802004/teste.zip 要复制错误,这是注释/取消注释行。
//url: "teste1.xml",
url: "teste2.xml",
(and...)
//var lat = $(this).find("geo\\:lat").text();
//var lng = $(this).find("geo\\:long").text();
var lat = $(this).find("geolat").text();
var lng = $(this).find("geolong").text();
我感谢任何帮助
答案 0 :(得分:0)
这是一个已知但仍未修复的错误。
您可以使用getElementsByTagNameNS()
代替(在FF,Chrome和Opera中使用)和$.find()
作为IE的后备广告。
geo:lat
的示例:
var lat =(( $.browser.msie )
? $(this).find('geo\\:lat')
: $(this.getElementsByTagNameNS('http://www.w3.org/2003/01/geo/wgs84_pos#','lat'))
).text();