私は次のhtmlマークアップを持っています.li/ulドロップダウンとサブ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リストに変換したいと思います
<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 値を取得し、サブ ul li は 1 つの選択オプションにあります。
ありがとうございました!