1
我有一个脚本可以从ul列表中生成一个可选组选择,然后将其替换。我想更改函数来生成选择列表,但不能替换ul列表。这里是UL:将选择列表功能从“删除”更改为“添加到”
<ul id="sitemap">
<li><a href="www.google.com">Home</a></li>
<li><a href="www.google.com">Small Business</a>
<ul>
<li><a href="www.google.com">Laptops</a></li>
<li><a href="www.google.com">Workstations</a></li>
<li><a href="www.google.com">Workstations</a></li>
<li><a href="www.google.com">Printers</a></li>
<li><a href="www.google.com">Mobile Phones</a></li>
</ul>
</li>
<li><a href="www.google.com">Public Sector</a>
<ul>
<li><a href="www.google.com">State Government</a></li>
<li><a href="www.google.com">Federal Government</a></li>
<li><a href="www.google.com">Support and Drivers</a></li>
</ul>
</li>
<li><a href="www.google.com">Large Enterprise</a>
<ul>
<li><a href="www.google.com">Services</a></li>
<li><a href="www.google.com">Solutions</a></li>
</ul>
</li>
</ul>
而且JS:
function sitemapCycle(){
if(typeof(sitemapNode)==="undefined") sitemapNode= $("#sitemap");
if($(this).find("ul").length)
{
sitemapNode= $(sitemapNode).append('<optgroup label="'+$(this).children().first().text()+'" />').children().last();
$(this).find("ul li").each(sitemapCycle);
sitemapNode= $(sitemapNode).parent();
}
else
{
$(sitemapNode).append('<option value="'+$(this).children().attr("href")+'">'+$(this).text()+'</option>');
}
}
var sitemapNode;
$("#sitemap").removeAttr("id").after('<select id="sitemap" />').children().each(sitemapCycle).parent().remove();
我不会因此与JS不过我以为删除
var sitemapNode;
$("#sitemap").removeAttr("id").after('<select id="sitemap" />').children().each(sitemapCycle).parent().remove();
会做的伎俩经历,但它不”吨。这是一个活生生的例子:http://jsfiddle.net/XvruF/
所以这是'.parent()删除()'。感谢那。 – Omega
请注意,它确实将ID从UL移至了选定项目。代码逻辑使用它。 – Jazaret
如果我想保留UL上的id,该怎么办? – Omega