2017-01-31 1 views
0

У меня есть выпадающее меню, которое можно использовать даже без JS. Для этого я создал копию меню в нижнем колонтитуле со всеми открытыми подменю и добавил <a name="nojs-menu"></a> поверх этого меню и имеет первый уровень основного пункта меню для этого якоря: <a href="#nojs-menu" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">. Таким образом, всякий раз, когда JS не выполнялся, мое главное меню просто бросает пользователей на нижний колонтитул, где открываются все подменю.Bootstrap dropdown переключает неправильный элемент, если href содержит идентификатор существующего элемента, это ошибка?

Теперь HTML5 validator рекомендует заменить name атрибуты id. Но как только я это выпадающее меню перестают работать, потому что они переключают класс open не на подменю, а на якорь с идентификатором nojs-menu. Это ошибка или я что-то не понял?

Bootstrap version in 3.3.5.

+0

Если вы замените имя на id, оно не работает, потому что id и значение href '# nojs-menu' точно такие же – Subho

+0

Но в этом все дело. Я хочу, чтобы ссылки были отложены, чтобы переместить пользователя в нужное место на странице, если JS не работает. И какова логика перехода на совершенно другой элемент на странице, если это преднамеренно? –

+0

вы можете попробовать, добавив в дочернее меню какой-либо другой селектор, например класс или идентификатор. В дочернем меню есть только один идентификатор, который конфликтует с родительским href. – Subho

ответ

0

В этом случае всем элементам подменю нужен id, и эти идентификаторы должны быть в data-target с кнопок верхнего меню.

Смежные вопросы