我的问题是Jquery查找功能。
这是我的kml代码〜
.
..
...
<Placemark>
<name>Happy Dinner 2011-05-21 16:57</name>
<styleUrl>#msn_track-0</styleUrl>
<gx:Track>
<when>2011-05-21T07:57:44Z</when>
<when>2011-05-21T07:58:29Z</when>
<when>2011-05-21T07:59:12Z</when>
<when>2011-05-21T07:59:41Z</when>
<when>2011-05-21T07:59:53Z</when>
<when>2011-05-21T08:00:29Z</when>
...
<gx:coord>127.03971 37.51795 99.59999999999999</gx:coord>
<gx:coord>127.03998 37.51816 101.8</gx:coord>
<gx:coord>127.03958 37.51816 106.8</gx:coord>
..
.
如你所知,我可以使用find,
访问dom//data is the xml(kml) file loaded.
$(data).find('Placemark')
这可以正常工作,返回对象数组。
但是,
$(data).find('gx:Track')
这不起作用,返回空的jquery对象。
$(data).find('gx:coord')
也行不通。
谁知道原因和解决方案?答案 0 :(得分:1)
使用:
\\
像这样:
$(data).find('gx\\:Track')
答案 1 :(得分:1)
我怀疑是它看到字符串的:track
部分是jQuery伪选择器(如:first-child
等)。
您可以在:
之前放置一个\\
,以便您的选择器变为:
$(data).find('gx\\:Track')
http://api.jquery.com/category/selectors/用于解释受控制的选择器字符。
答案 2 :(得分:-1)
我认为jQuery选择器无法识别XML命名空间。
你可以试试这个:$(data).find('gx\:coord')
但有些东西告诉我它也不会起作用。