我在一个特殊的场景中,我需要更改href
a<a>
内的 a <li>
,如果<li>
有一个 child <ul>
,并且视口是 sub 480px。
我对编写javascript知之甚少,但我认为这就是逻辑的工作方式:
- 视口是否等于或小于 480 像素?
- 如果是这样,请
<li>
直接在<nav id="navigation1">
's top-level中找到任何 's<ul>
。 - 从 #2 返回的内容中,找到任何还包含 child 的内容
<a>
。 - 从 #3 返回的内容中,找到任何还包含 child 的内容
<ul>
。 - 根据 #4 返回的内容,将顶部的
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,但它是由所见即所得创建的,我无法控制它。抱歉。)
解决方案必须使用 vanilla javascript,请不要使用 jQuery。
谢谢!