Я в специальном сценарии, где мне нужно изменить href
в качестве <a>
, который находится внутри <li>
, если <li>
имеет ребенка <ul>
, а если окна просмотра суб 480px ,Change Link HREF на основе Viewport (Javascript)
Я очень мало знаю о написании JavaScript, но я думаю, что это как логика будет работать:
- Является ли окно просмотра равна или меньше, чем 480px?
- Если да, найдите любые
<li>
прямо внутри<nav id="navigation1">
на верхнем уровне<ul>
. - От каких # 2 возвращается, найдите любые, которые также содержат ребенка
<a>
. - С чего возвращаются # 3, найдите любой, который также содержит ребенка
<ul>
. - От каких # 4 возвращает значение
href
<a>
в верхней<li>
's' 'navigation_``.
Вот 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.
Спасибо!
Это тот тип вещей, который имеет jQuery. Почему вы не хотите использовать его? – warpedspeed
@warpedspeed Я знаю. Однако это не должно вызывать конфликтов с другими JS-библиотеками. –
В каких других js-библиотеках может возникнуть конфликт? Эта информация может позволить более элегантное решение. – ramblinjan