XML中的JQuery选择器

我试图从XSD文档中获取一组元素。 我已下载并使用最新版本的jQuery(1.7.2)。 引用的xsd是http://www.w3.org/2001/XMLSchema.xsd的本地副本,我使用的代码如下:

var xml; $(function(){ $.ajax({ type:"GET", url:"http://www.w3.org/2001/XMLSchema.xsd",//"xml/XMLSchema.xsd", dataType: 'xml', success:function(result){ xml = $(result); } }); }); 

这使我能够按预期将xsd加载到“xml”变量中,但是当我去查询它时,我最终得到了一些令人困惑的结果。 使用:

 $('complexType[name=simpleType]', xml).attr("name") $('complexType[name="simpleType"]', xml).attr("name") 

返回“未定义”但是以开头,结束,开始和结束返回正确的结果:

 $('complexType[name^="simpleType"]', xml).attr("name") $('complexType[name$="simpleType"]', xml).attr("name") $('complexType[name$="simpleType"][name^="simpleType"]', xml).attr("name") 

这个名字是“simpleType”。 有没有理由为什么=’s不起作用?

提前致谢

我认为你对命名空间的使用有问题。 你可以尝试使用

 $('xs\\:complexType[name=simpleType]', xml).attr("name") 

(请参阅此处有关转义元字符的信息 )而不是

 $('complexType[name=simpleType]', xml).attr("name")