2013-02-25 126 views
0

我无法弄清楚这一点,并已经搞砸了一段时间了。jquery xml属性返回undefined

XML:

<page name="bio"> 
<image imageUrl="img/bio.png" link="#"/> 
<texts> 
<pageText><![CDATA[blah 
]]></pageText> 
</texts> 
</page> 

jQuery的

$.get('../tfile_main.xml', function(xml){ 
$varbioimg = $(xml).find('page[name="bio"] image'); 
alert($varbioimg.attr('imageUrl')); 
}); 

这将返回undefined出于某种原因,我也试图找到(页面[NAME = “生物”]>图像“)

回答

3

尝试.parseXML,不推荐使用jQuery的css选择器来解析xml

var xml = '<page name="bio"><image imageUrl="img/bio.png" link="#"/><texts><pageText><![CDATA[blah]]></pageText></texts></page>'; 

xmlDoc = $.parseXML(xml); 
$xml = $(xmlDoc);  
console.log($xml.find('page[name="bio"] image')); 

这里是演示http://jsfiddle.net/FVHEU/

+0

谢谢,可以用parseXML()与外部xml文件一起使用吗? – js82 2013-02-25 23:45:33

+0

如果该文件被服务器读取并作为'xml'发送到客户端,那么它可以在外部文件上使用... – dakait 2013-02-26 03:20:43

0

当我第二使用.parseXML,我也有提到,你原来的例子为我工作。确保您的XML文件与您在此发布的内容完全相符(顶部添加<?xml version="1.0">),然后使用Firefox导航到XML文件的URL;它会让你知道是否有任何解析错误。