Пытаюсь сделать кат у меню, если в нем будет слишком много пунктов. Делаю так:
var navEls = [];
$('.main-menu').find('.main-menu_item').each(function() {
navEls.push($(this));
});
var navCount = navEls.length;
if (navCount > 4) {
// Находим лишние элементы и меняем классы
$('.menu_item').eq(5).nextall().addClass('dropdown_item').removeClass('menu_item');
// Оборачиваем все в дропдаун
$('.dropdown_item').wrapAll('<div class="dropdown"></div>');
// Добавляем кнопку
var navDropdownBtn = $('<span class="btn-dropdown">...</span>');
$('.main-menu').append(navDropdownBtn);
}
Вот фиддл:
https://jsfiddle.net/konrafikov/w3sbjhex/