ОК, поэтому у меня есть этот скрипт...
jQuery(document).ready(function(){
var tabs = ["tab7", "tab9", "tab10", "tab11", "tab17", "tab25"];
jQuery.each(tabs, function(index, value){
var el = $("#"+value+" a");
var html = el.html().split(" ");
html = html[0] + "<br>" + html.slice(1).join(" ");
el.html(html);
el.css({"line-height" : "19px","text-align" : "center","padding-top" : "20px","height" : "58px"});
});
});
Он добавляет aa разрыв строки между элементами nav с двумя словами. Но иногда это затрагивает subnav, а иногда это не так. Он может работать или не работать на любой странице сайта. После обновления браузера это может повлиять или не повлиять на subnav. Просмотрите снимок экрана обеих версий. но он переходит к перепутанной версии намного больше, чем к правильной версии. Это что-то в моем скрипте влияет на это? Или есть что-то, что я могу добавить, чтобы это не повлияло на subnav
В случае, если это помогает здесь, это HTML для LI элемента nav.
<li id="tab7" class="hasChildren">
<a href="/s.nl/c.1334893/sc.7/.f" style="line-height: 19px; text-align: center; padding-top: 20px; height: 58px;">Featured<br>Items</a>
<ul class="submenu">
<li><a href="/s.nl/c.1334893/sc.7/category.86/.f" style="line-height: 19px; text-align: center; padding-top: 20px; height: 58px;">Featured<br>Items</a></li>
<li><a href="/s.nl/c.1334893/sc.7/category.87/.f" style="line-height: 19px; text-align: center; padding-top: 20px; height: 58px;">Featured<br>Items</a></li>
</ul>
</li>
это работает так же, как children
и, возможно, быстрее:
var el = $("#"+value+" > a");
или
var el = $("#"+value).find("> a");
но ваше использование идентификаторов неэффективно, вы должны обратиться к классу, тогда, если вам нужно сохранить данные с помощью узла, используйте атрибут данных hml5:
<li data-tabid="7" class="tab hasChildren">
<a href="/s.nl/c.1334893/sc.7/.f" style="line-height: 19px; text-align: center; padding-top: 20px; height: 58px;">Featured<br>Items</a>
<ul class="submenu">
<li><a href="/s.nl/c.1334893/sc.7/category.86/.f" style="line-height: 19px; text-align: center; padding-top: 20px; height: 58px;">Featured<br>Items</a></li>
<li><a href="/s.nl/c.1334893/sc.7/category.87/.f" style="line-height: 19px; text-align: center; padding-top: 20px; height: 58px;">Featured<br>Items</a></li>
</ul>
</li>
JS
jQuery(function($,undefined){
var $tabs =$(".tab");
$tabs.each(function(){
var $el = $(this).find(">a");
var html = $el.html().split(" ");
$el.html(html[0] + "<br>" + html.slice(1).join(" "))
.css({"line-height" : "19px","text-align" : "center","padding-top" : "20px","height" : "58px"});
});
});
наконец, переместите css-строку в файл css внутри класса
.twolines {line-height: 19px; //...
затем вместо .css(...
.hadClass("twolines")
первые легкие шаги для аккуратного кода и элегантности... g'luck