【问题标题】:Getting XML attributes with Load() in JQuery在 JQuery 中使用 Load() 获取 XML 属性
【发布时间】:2010-06-22 13:47:42
【问题描述】:

我有这个代码,它可以工作:

$('.invest-port-thumb a').mouseenter(function() {
                $('#slider-name').load(this.href + ' cName');
});

正在加载这个 XML:

<fragment>
    <cName cind="Industrial" stat="Active">ABC Company</cName>  
    <hq>Chicago, IL</hq>
</fragment>

我应该如何修改这段代码来加载cNamecind属性?

【问题讨论】:

    标签: jquery xml


    【解决方案1】:

    jQuery 不会在加载时自动为您解析 XML。但是,您可以使用 jQuery 来解析 XML。查看此页面以获取示例:http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html。基本上,您加载 XML 并执行您的选择和修改,如下所示:

    这是一个让您入门的演示:如果您的 XML 中只有一个片段和一个 cName,那么这样做是安全的:

    var cind = $(myXML).find("fragment cName").attr("cind");
    

    您似乎正在使用 load() 来加载 XML 的片段。相反,尝试将整个 XML 内容加载到一个变量中,并使用我上面给你的代码行解析出它的 cind 属性。

    编辑:

    试试这个:

     $('.invest-port-thumb a').mouseenter(function() {
          $.get(this.href, function(response){
               var cind = $(response).find("fragment cName").attr("cind");
               $('#slider-name').html(cind);
          })
     });
    

    【讨论】:

    • 感谢您的快速回复。但是在声明了cind变量之后,我怎样才能将它合并到load()函数的语法中呢?
    • 刚刚编辑了我的答案,为您提供了一种可能的方式。
    • 我刚刚发布了一个完整的例子。
    • 天哪,它有效!哇,谢谢伙计..(我每天都从这个网站学到很多东西)
    • 这很好用。但由于某种原因,它在 IE 中不起作用……有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2021-11-23
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多