jquery“查找”找不到 gx:Track

发布于 2024-11-10 00:44:09 字数 1120 浏览 1 评论 0原文

我的问题是 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')

也不起作用。

有谁知道原因和解决办法吗?

My problem is Jquery find function.

this is my kml code ~

.
..
...
<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>
        ..
        .

as you know I can access dom using find,

//data is the xml(kml) file loaded.
$(data).find('Placemark')

this works correctly, return object array.

but,

$(data).find('gx:Track')

this doesn't work, return empty jquery object.

$(data).find('gx:coord')

also doesn't work.

anyone who know the reason and solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

木緿 2024-11-17 00:44:10

我怀疑它会将字符串的 :track 部分视为 jQuery 伪选择器(如 :first-child 等)。

您可以通过在 : 前面放置 \\ 来转义它,这样您的选择器将变为:

$(data).find('gx\\:Track')

http://api.jquery.com/category/selectors/ 了解受控选择器字符的说明。

My suspicion is that it see's the :track part of the string as a jQuery pseudo-selector (like :first-child etc).

You can escape the : by putting a \\ before it, so your selector would become:

$(data).find('gx\\:Track')

http://api.jquery.com/category/selectors/ for the explanation of controlled selector characters.

怎樣才叫好 2024-11-17 00:44:10

使用 \\: 进行转义,

如下所示:

$(data).find('gx\\:Track')

escape the : with \\

Like this:

$(data).find('gx\\:Track')
终止放荡 2024-11-17 00:44:10

我相信 jQuery 选择器无法识别 XML 名称空间。

您可以尝试以下操作: $(data).find('gx\:coord') 但有些东西告诉我它也不起作用。

I believe that jQuery selectors do not recognize XML namespaces.

You can try this: $(data).find('gx\:coord') but something tells me it will not work either.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文