私はレスポンシブである必要があるウェブサイトに取り組んでいます。ナビゲーションをに変換したい <select>
。内部<nav>
には任意の数の任意の数が存在できます。の数を計算するために使用しました。<ul>
<nav>
for loops
<nav> and <ul> inside <nav>
1 つは生成され、もう 1 つは生成されません。これを解決するために私を助けてください。
私はレスポンシブである必要があるウェブサイトに取り組んでいます。ナビゲーションをに変換したい <select>
。内部<nav>
には任意の数の任意の数が存在できます。の数を計算するために使用しました。<ul>
<nav>
for loops
<nav> and <ul> inside <nav>
1 つは生成され、もう 1 つは生成されません。これを解決するために私を助けてください。
あなたが探していて、これには直系の子孫.children('ul')
しか含まれていないため、機能しませんが、2番目には...nav
div
ul
任意の深さで子孫を探す.children
呼び出しを変更できます.find
- ここでカット -
代替ソリューション:
$('nav').each(function(navIndex, navElement) {
$(this).find('ul').each(function(ulIndex, ulElement) {
var $sel = $('<select name="nav'+navIndex+'-'+ulIndex+'" />');
$sel.append('<option value="#">Go to...</option>');
$sel.change(function() { document.location.href = this.value; });
$(this).find('li>a').each(function(aIndex, aElement) {
$sel.append('<option value="' + this.href + '">' + $(this).text() + '</option>');
});
$(this).after($sel); // place this select after the ul...
});
});