私は、マークアップに基づいてドロップダウン ナビゲーションを動的に作成する再帰スクリプトに取り組んできました。
これが私がこれまでに持っているものですが、サブリンクとしてネストされている場合を除き、ドロップダウン リストの各項目の前にあるハイフンを削除しようとしています。誰にもアイデアはありますか?
再帰スクリプトのセットアップ方法を次に示します。呼び出しは一番下にあります。
var loadLinks = function runLinks(currDom, currPrependedChar) {
var dom = currDom;
var children = dom.children;
for (var i = 0; i < dom.children.length; ++i) {
var currentLink = children[i];
switch (currentLink.nodeName) {
case 'A':
var option = document.createElement('option');
option.innerHTML = currPrependedChar + currentLink.text;
option.value = currentLink.href;
select.appendChild(option);
break;
default:
if (currentLink.nodeName === 'UL') {
currPrependedChar += currPrependedChar;
}
loadLinks(currentLink, currPrependedChar);
break;
}
}
}
loadLinks(nav, '- ');
これがJSFiddleでどのように実行されるかです。ハイフン付きの選択ナビゲーションを見ることができます - http://jsfiddle.net/4jeaZ/