我有以下 html 标记,比这里的演示多一点,混合了 li/ul 下拉列表和 sub ul 的不同类名
<ul class="nav">
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a>
<ul class="subnav">
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
</ul>
</li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a>
<ul class="subnav">
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
<li><a href="linik">Title</a></li>
</ul>
</li>
</ul>
为了适应移动浏览器,我想将 ul 列表转换为选择列表,例如
<select class="nav" onchange="location.href=this.value">
<option value="link">Title</option>
<option value="link">Title</option>
<option value="link">Title</option>
<option value="link">Title</option>
<option value="link">Title</option>
<option value="link">Title</option>
</select>
我试过了
window.addEvent('domready', function () {
$$('ul.nav li').each(function(el) {
var option = new Element('option',{html:el.get('html')});
option.replaces(el);
});
$$('ul.nav').each(function(el) {
var select= new Element('select',{html:el.get('html')});
select.replaces(el);
});
});
但正如您在这里看到的http://jsfiddle.net/xVrZe/我得到所有没有 href 属性的 li 值,而我的 sub ul li 在 1 个选择选项中。
谢谢!