将无序列表转换为以下样式<;选择>;jquery中的下拉列表
我想知道如何转换以下无序列表:将无序列表转换为以下样式<;选择>;jquery中的下拉列表,jquery,drop-down-menu,Jquery,Drop Down Menu,我想知道如何转换以下无序列表: <ul class="menu"> <li><a href="/">Category A</a></li> <li class="active"><a href="/category-b">Category B</a></li> <li><a href="/category-c">Category C</a><
<ul class="menu">
<li><a href="/">Category A</a></li>
<li class="active"><a href="/category-b">Category B</a></li>
<li><a href="/category-c">Category C</a></li>
</ul>
使用jQuery转换为以下格式,而“active”类将被标识并转换为Select标记中的选定属性
<select>
<option value="http://www.window-location-url.xxx/">Category A</option>
<option value="http://www.window-location-url.xxx/category-b" selected="selected">Category B</option>
<option value="http://www.window-location-url.xxx/category-c">Category C</option>
</select>
A类
B类
C类
编辑:我稍微更新了上面的代码,因为我意识到在转换之后,value属性需要插入窗口位置URL(域名),只有当它被选中时才会跳转到相关页面。var items=$(“ul.menu li”)、slc=$(“”);
var items=$("ul.menu li"),slc=$("<select />");
items.each(function(i,e){
var no=$("<option />"),a=$(">a",$(e));
if($(e).hasClass("active")){no.attr("selected","selected");}
no.text(a.text());
no.attr("value",a.attr("href"))
});
项目。每个功能(即,e){
变量号=$(“”),a=$(“>a”,$(e));
if($(e).hasClass(“活动”){no.attr(“选定的”、“选定的”);}
否.text(a.text());
no.attr(“value”,a.attr(“href”))
});
这应该能奏效。如果有问题,请告诉我。首先,迭代列表项,并使用jQuery-检查每个列表项上名为
active
的类,构建一个select下拉列表。如果列表项具有活动
类,请将选项元素的选定
属性设置为选定
。接下来,将下拉列表附加到您想要的任何位置
这很有效。但是链接是条带化的。我需要我的选择列表中的链接,这样当人们选择列表时,它将分别转到该页面。你能改进一下吗。谢谢。我的意思是转换后的选项元素没有“value”(例如value=“/”)属性,它应该从标签中先前的href中获取值。非常感谢!它转换得很好。我刚刚稍微更新了上面的代码,以更好地反映我的情况。如果您能帮助将窗口位置url插入“value”属性,将不胜感激。因为它只有在被选中时才会跳转到相关页面。此外,您是否可以将原始无序列表转换为下拉列表本身,而不附加到其他列表(例如:Czarchic给出的代码,)。如果做到这一点,它将是完美的。谢谢@Adamtan只有当您向我发送一个指向您保存的JSFiddle.ok的链接时,我才能提供帮助。这里是链接。我将Czarchic提供的代码应用于演示。除了他没有将我的活动