使用jQuery动态添加指向多个项目的链接

时间:2010-11-23 17:27:03

标签: jquery xml ajax

我使用以下代码从xml文档创建面包屑:

var root = null;

$(document).ready( function(){

    $.get( "/_assets/xml/sitemap.xml", 
        function( data ) {
            root = data;
            var pathname = window.location.pathname;

            var local_url = "*[url=" + pathname + "]";

            var parentEls = $(root)
                .find(local_url)
                .parents();

            var mapped = $(parentEls).map(function () { 
                  return $(this).attr("name"); 
                    })
                .get()
                .reverse()
                .join(" / ");

            $("#breadcrumb").append("<p>" + mapped + "</p>");


        } );
} );

我的面包屑显示得很完美,但现在我需要动态地为每个元素添加标签,并在xml doc中为其指定url。我可以在.map()函数中执行此操作吗?不确定API中是否有任何漂亮的方法可以帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

应该像修改map函数一样简单,只需返回一个包含链接名称和url的数组,例如在map函数的返回中:

return [$(this).attr("url"),$(this).attr("name")];

然后在你的面包屑行中:

$("#breadcrumb").append("<p><a href=\""+mapped[0]+"\">"+mapped[1]+"</a></p>");