构建表示树的JavaScript对象 函数createObjects(元素,深度){ element.label=element.getElementsByTagName(“标签”)[0].firstChild.nodeValue; element.url=element.getElementsByTagName(“url”)[0].firstChild.nodeValue; 元素深度=深度; if(树宽[深度]==未定义){ 树宽[深度]=1; }否则{ 树宽[深度]+; } element.children=新数组(); allNodes.push(元素); var children=element.getElementsByTagName(“children”)[0].childNodes; 对于(var i=0;i

构建表示树的JavaScript对象 函数createObjects(元素,深度){ element.label=element.getElementsByTagName(“标签”)[0].firstChild.nodeValue; element.url=element.getElementsByTagName(“url”)[0].firstChild.nodeValue; 元素深度=深度; if(树宽[深度]==未定义){ 树宽[深度]=1; }否则{ 树宽[深度]+; } element.children=新数组(); allNodes.push(元素); var children=element.getElementsByTagName(“children”)[0].childNodes; 对于(var i=0;i,javascript,Javascript,我不会将数组添加为元素的属性。如果要向元素添加子元素,这不是正确的方法。此外,如果只想使用数组管理数据,这也不是正确的方法 如果要添加子元素,请使用: element.children = new Array(); 我不会将数组添加为元素的属性。如果要向元素添加子元素,这不是正确的方法。此外,如果只想使用数组管理数据,这也不是正确的方法 如果要添加子元素,请使用: element.children = new Array(); 那些“getElementsByTagName()”调用发生了什

我不会将数组添加为元素的属性。如果要向元素添加子元素,这不是正确的方法。此外,如果只想使用数组管理数据,这也不是正确的方法

如果要添加子元素,请使用:

element.children = new Array();
我不会将数组添加为元素的属性。如果要向元素添加子元素,这不是正确的方法。此外,如果只想使用数组管理数据,这也不是正确的方法

如果要添加子元素,请使用:

element.children = new Array();

那些“getElementsByTagName()”调用发生了什么,其中标记名是“url”和“children”?那是什么内容?什么是“元素”?@Pointy:标记名来自一个XML文件,该文件是用JS编写的,这里()是压缩文件OK那么“元素”是什么呢参考?如果是HTML DOM节点,那么Firefox抱怨的原因是因为它不允许您首先设置“children”属性;这是所有HTML元素节点的内置只读属性。@Pointy:这里有跨浏览器解决方案吗?很难说,因为不清楚您在做什么。您的问题标题是关于“JavaScript对象”,但看起来您实际上是在尝试构建DOM。如果这是您想要做的,那么您必须使用该答案中描述的@citizen conn的DOM API。那些“getElementsByTagName()”调用发生了什么,其中标记名是“url”和“children”?这是什么类型的内容?什么是“element”“?@Pointy:标记名来自一个XML文件,该文件的措辞(使用JS),这里()是压缩文件OK,“元素”指的是什么?如果是HTML DOM节点,那么Firefox抱怨的原因是因为它不允许您设置“子项”属性;这是所有HTML元素节点的内置只读属性。@Pointy:这里有跨浏览器解决方案吗?很难说,因为不清楚您在做什么。您的问题标题是关于“JavaScript对象”,但看起来您实际上是在尝试构建DOM。如果这是您想要做的,那么您必须使用该答案中描述的@citizen conn的DOM API。
element.appendChild(createObjects(children[i], depth + 1));