当我在FF 3.5中加载包含e4x的页面时,我不清楚e4x甚至存在于浏览器的JS实现中。下面的注释,但这是我的HTML:
< HTML 的xmlns = “http://www.w3.org/1999/xhtml” >
< HEAD>
< meta http-equiv =“Content-Type” content =“text / html; charset = utf-8” />
< title> e4x 试验< /标题>
< script type =“text / javascript” SRC = “LIB /道场/道场/的dojo.js” >
< /脚本>
< script type =“text / javascript; e4x = 1”>
function hello()
{
var x = new XML();
x =< foo>< / foo>
dojo.byId(“container”)。innerHTML = “打印我!” + x.toXMLString();
}
< /脚本>
< script type =“text / javascript”>
dojo.addOnLoad(你好);
< /脚本>
< /头>
<身体GT;
< div id =“container”>
< / DIV>
< / body>
< / html>
当我在firebug中检查时,它说x没有toString()方法,而我的IDE(aptana)认为XML不是对象类型。有谁知道我做错了什么?
答案 0 :(得分:1)
我猜它一直在工作,但是你的浏览器不识别“foo”标签,因为它不知道如何渲染它,它会忽略它。通过在foo标签内放置一些内容,您可以获得内容。
BTW:新的XML()语句完全没必要。你可以这样做:
var x = <foo>bar</foo>;
这将为您创建一个新的XML对象。说新的XML()就像说新的String()。你可以做到,但这只是浪费空间。
答案 1 :(得分:0)
事实证明,我需要更多的XML才能打印出来。例如,酒吧工作。我不知道为什么,但这就是解决它的原因!