にchildがあり、ビューポートがサブ 480px の場合、内にhref
あるを変更する必要がある特別なシナリオにいます。<a>
<li>
<li>
<ul>
私はJavaScriptの書き方についてほとんど知りませんが、これがロジックがどのように機能するかを考えています:
- ビューポートは 480px 以下ですか?
- もしそうなら、のトップレベルの
<li>
中にあるものを直接見つけてください。<nav id="navigation1">
<ul>
- #2 が返すものから、 child も含むものを見つけます
<a>
。 - #3 が返すものから、 child も含むものを見つけます
<ul>
。 - #4 の戻り値から、 topの
href
値を ''#navigation1`` に変更します。<a>
<li>
HTMLは次のとおりです。
<nav id="navigation1" class="navigation" style="height:auto; z-index:1; overflow:visible">
<ul class="f-fp f-lp" id="fwNav1">
<li class="fwNavItem"><a href="change-this-link.html"><span class="Navigation">About</span></a>
<ul class="sub">
<li class="fwFirstChild fwNavItem"><a href="#"><span class="Navigation">About Me</span></a></li>
<li class="fwNavItem"><a href="#"><span class="Navigation">About You</span></a></li>
<li class="fwLastChild fwNavItem"><a href="#"><span class="Navigation">About We</span></a></li>
</ul>
</li>
<li class="fwNavItem"><a href="change-this-link.html"><span class="Navigation">Services</span></a>
<ul class="sub">
<li class="fwFirstChild fwNavItem"><a href="#"><span class="Navigation">What Me Do</span></a></li>
<li class="fwLastChild fwNavItem"><a href="#"><span class="Navigation">What You Do</span></a></li>
</ul>
</li>
</ul>
</nav>
(私は知っています、最もきれいな HTML ではありませんが、それは WYSIWYG によって作成されたものであり、私はそれを制御できません。申し訳ありません。)
ソリューションは、バニラ JavaScript である必要があります。jQuery は使用しないでください。
ありがとう!