我认为这应该是一个简单明了的问题,让我快速解释一下:
在我的JavaScript中,使用以下代码将food.xml
读入:
getMenuXml.open("GET","food.xml",false);
getMenuXml.send();
xmlDoc=getMenuXml.responseXML;
xmlFoodList = xmlDoc.getElementsByTagName("food");
现在我有一个包含所有食品元素的NodeList xmlFoodList
。到目前为止都很好。问题是我想根据<category>
元素内部的内容对节点进行排序。我可以使用以下代码读取该元素:
xmlFoodList[i].getElementsByTagName("category")[0].childNodes[0].nodeValue
在我的代码后面,食品项目以列表形式显示,正如你所期望的那样,我希望相同类别的食品被列在一起。因此,我的问题是:如何根据它们的类别重新排序xmlFoodList
中的节点?
注:我无法更改传入的food.xml
,也不想编辑稍后的代码以在填充列表时进行排序。我不想将NodeList转换为数组,因为我需要重写很多后续代码。实际上性能并不是太大的问题,因此可以自由地克隆/嵌套循环。感谢您的时间。
foodsArray.forEach(function(node) { node.parentNode.append(node); });
- andrewmu