在一组li的jquery周围包裹一个ul

时间:2011-02-03 21:36:23

标签: jquery xml html-lists

嗨,我似乎无法得到一个包裹着一群李的ul。我有它的结束标记没有被添加到循环的结尾它将它放在一行链接这<ul class="links"></ul>

    //parse the AllLinks.xml file
function xmlParser(xml) {
    $(xml).find("header").each(function(){
        var headerlabel = $(this).attr("Label")
        $("#allLinksContainer").append("<h5 class='heading'>" +headerlabel+ "</h5><ul class='links'>");

                //get label content
                $(this).find("link").each(function(){
                    var label = $(this).find('label').text()
                    var url = $(this).find("url").text()
                    var id = $(this).find("id").text()
                    $("#allLinksContainer").append("<li><a id='" +id+ "' href='" +url+ "'>" +label+ "</a></li>");
                });//end links
        $("#allLinksContainer").append("</ul>");    
    });//end header
}// close xmlParser function

2 个答案:

答案 0 :(得分:1)

试试这个:

function xmlParser(xml) {
    $(xml).find("header").each(function () {
        var headerlabel = $(this).attr("Label") $("#allLinksContainer").append("<h5 class='heading'>" + headerlabel + "</h5>");
                var ul = $("<ul class='links'></ul>");
        $(this).find("link").each(function () {
            var label = $(this).find('label').text();
                        var url = $(this).find("url").text();
                        var id = $(this).find("id").text();
                        ul.append("<li><a id='" + id + "' href='" + url + "'>" + label + "</a></li>");
        });
                $("#allLinksContainer").append(ul);
    });
}

答案 1 :(得分:0)

或者您可以添加所有LI项目,然后使用新的jQuery选择它们并使用$("#allLinksContainer li").wrap("<ul></ul>")

More info here