I\'m trying to convert (with jQuery) a multi-level UL
into a SELECT
dropdown with the nested UL
group being wrapped in OPTGROUPS
You can replace :
$("#sitemap ul").each(function(){
$(this).parent().replaceWith('');
});
$("#sitemap li").each(function(){
$(this).replaceWith('');
});
$("#sitemap").removeAttr("id").wrapInner('').children().unwrap();
Or build and then remove the ul#sitemap :
function sitemapCycle(){
if(typeof(sitemapNode)==="undefined") sitemapNode= $("#sitemap");
if($(this).find("ul").length)
{
sitemapNode= $(sitemapNode).append('').children().last();
$(this).find("ul li").each(sitemapCycle);
sitemapNode= $(sitemapNode).parent();
}
else
{
$(sitemapNode).append('');
}
}
var sitemapNode;
$("#sitemap").removeAttr("id").after('').children().each(sitemapCycle).parent().remove();