добавить <li>к <ul>, используя JQuery - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь создать вложенный ul , считывая значения из файла XML.Я могу создать первый уровень 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 Ответ

1 голос
/ 13 сентября 2011

Вы помещаете текст непосредственно в элемент <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);
}

Дайте мне знать, если это работает.Если у вас есть образцы данных, вам будет легче убедиться в их правильной работе.

...