使用JQuery将<li>附加到<ul> </ul> </li>

时间:2011-09-13 16:23:58

标签: jquery xml html-lists

我正在尝试通过从XML文件中读取值来创建嵌套的 ul 。我可以创建第一级 ul ,但无法在其下添加 li 元素。 Firebug没有显示任何错误。请帮助代码如下;

$(function(){
    $.get("../XML/test.xml",processResult); 
});

function processResult(data){
    $(data).find("Category").each(showCategory);
}

function showCategory(){
    var catName = $(this).attr("Title");
    $("#menuList").append("<ul>" + catName + "</ul>");
    $(this).find("Function").each(showFunction);
}

function showFunction(){
    var funcName = $(this).attr("Title");
    $(this.parentNode).append("<li>" + funcName + "</li>");
}

1 个答案:

答案 0 :(得分:1)

您将文本直接放在<ul>元素中,并使用错误的this变量。尝试这样的事情:

$(function(){
    $.get("../XML/test.xml",processResult); 
});

function processResult(data){
    $(data).find("Category").each(showCategory);
}

function showCategory(){
    var catName = $(this).attr("Title");
    var parent = $("<ul></ul>");
    $(this).find("Function").each(function(){
      var funcName = $(this).attr("Title");
      parent.append("<li>" + funcName + "</li>");
    });
    $("#menuList").append(catName).append(parent);
}

让我知道它是否有效。如果您有可用的样本数据,则可以更轻松地验证其是否正常运行。