使用jquery从嵌套的xml元素创建html ul li

时间:2012-07-10 08:47:53

标签: javascript jquery html css

我有一个xml为 -

<item name="a">
   <item name="d">
      <item name="g">
          ...
      </item>
      ...
   </item>
   <item name="e"></item>
   <item name="f"></item>
   ...
</item>
<item name="b"></item>
<item name="c"></item>

我想创建此xml的ul li树结构

a [node]
 d [node]
  g [node]
  .
  .
  .
 e [node]
 f [node]
 .
 .
b [node]
c [node]

我想我需要创建一个infinte循环,但发现很难在jquery中进行。我的jquery就像这样 -

function createNestedTree(obj) {
  $("#tree").append("<ul></ul>");
  $(obj).children("item").each(function(){
    $("#tree ul").append("<li>"+$(this).attr("name")+"</li><ul id="+$(this).attr("name")+"level></ul>");
    $(this).children("item").each(function(){
       //logic here
    });
  });
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这对你有用吗?

 function jumpdown (obj) {
   if (obj.hasChildNodes()) {
     var nextlevel = "<li>"+$(obj).attr("name")+"</li><ul id='"+$(obj).attr("name")+"level'>";
     for (var i=0 ; i<obj.chilNodes.length, i++)
     {
       nextlevel = nextlevel + jumpdown(obj.chilNodes[i]);
     }
     nextlevel = nextlevel + "</ul>";
     return nextlevel;
   }
   else return "<li>"+$(obj).attr("name")+"</li>";
 }

 jumpdown(mydocumentxml);