我正在浏览Firefox扩展程序,尝试使用E4X。但是,我遇到了一个奇怪的问题:

var myXml = <test xmlns="http://test.com">
     Hey
     <inner>
        Guys
      </inner>
   </test>;

var ns = myXml.namespace();

default xml namespace = ns;

this.log(myXml.*::inner);
this.log(myXml.ns::inner);
this.log(myXml.inner);

前两个日志语句打印“Guys”。第三个是空白的。这是怎么回事?我已经指定了默认命名空间,它实际上与我在第二个日志语句中使用的完全相同。为什么这不起作用?

Mozilla的文档表明这应该有效。

有帮助吗?

解决方案

在Firefox 3中,您的代码按预期运行。也许你遇到了旧版Gecko中发现的bug?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top