kon-rafikov
@kon-rafikov
Не забывайте отмечать решение

Обернуть все элементы после n в jQuery, что я делаю не так?

Пытаюсь сделать кат у меню, если в нем будет слишком много пунктов. Делаю так:

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/
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
@sscrm
web разработчик
Вот тебе подсказка

$('.main-menu_item:eq(4)').nextAll().addClass('dropdown_item').removeClass('main-menu_item');

И смотри консоль, там же написано:
Uncaught TypeError: $(...).eq(...).nextall is not a function
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 07:44
20000 руб./за проект
29 нояб. 2024, в 04:45
5000 руб./за проект
29 нояб. 2024, в 04:42
5000 руб./за проект