Как я могу удалить класс из всех элементов, которые не являются ребенкомJquery

Программирование на jquery
Ответить
Anonymous
 Как я могу удалить класс из всех элементов, которые не являются ребенком

Сообщение Anonymous »

Я слежу за видео CSS Flex и пытаюсь создать меню с несколькими уровнями. Я использую jQuery, чтобы открыть и закрыть меню и подменю, а также суб-суб-меню и т. Д. < /p>
Вот моя демонстрация. Sub-Menu (пункт 1.2) => Первый уровень не должен закрываться
[*] Я нажимаю на второй подменю (пункт 1.2.3) => Все этот прямой родитель, не должен закрываться. /> < /ol>
Моя проблема, я не знаю, как нацелиться на первый уровень li.haschildren и проверить всех детей других уль Li.haschildren и искать детей, чтобы закрыть открытое меню и подменю.

Код: Выделить всё

( function( $ ) {

$( '.dropdown-toggle' ).click( function( e ) {
var _this = $( this );
e.preventDefault();
_this.toggleClass( 'toggled-on' );
_this.find('.fa').toggleClass( 'fa-angle-down fa-angle-up');
_this.parent().next( '.sub-menu' ).toggleClass( 'toggled-on' );
_this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );

// HOW CAN I CHECK ALL OTHER MENUS

} );

})( jQuery );
выше, я создал переменную _This
  • Как я могу проверить первый li.haschildren из _this
  • Тогда как можно проверить press> forry> fortry> есть другой родитель. li
  • Тогда как можно проверить всю другую ветвь дерева, чтобы закрыть уль-суен-меню, li.haschildren, за исключением дерева, что щелчок исходит от
Я попробовал с parentuntil ()
​​ with parentuntil ()

with parentuntil ()

with parentuntil ()


Код: Выделить всё

(this).parentsUntil("li.hasChildren").css( "background-color", "red" );
Чтобы отметить первым уровнем класса, но я, по-видимому, останавливаюсь в первом li. Чтобы закрыть подменю, мы можем использовать removeClass ('. Toggled-on')
Вот мой html-код

Код: Выделить всё

 
[list]
[*]

[url=#]A propo[/url]
[url=#]
[12]
[i][/i]
[/url]




[url=#]Item 1.1[/url]

[*]

[url=#]Item 1.2[/url]
[url=#]
[1]
[i][/i]
[/url]




[url=#]Item 1.2.1[/url]

[*]

[url=#]Item 1.2.2[/url]

[*]

[url=#]Item 1.2.3[/url]
[url=#]
[1]
[i][/i]
[/url]


[url=#]Item 1.2.3.1[/url]
[*][url=#]Item 1.2.3.2[/url]
[*][url=#]Item 1.2.3.3[/url]
[/list]



[*]

[url=#]Item 333333[/url]




[*]

[url=#]Team[/url]

[*]

[url=#]Contact[/url]
[url=#]
[13]
[i][/i]
[/url]

[list]


[url=#]Adresse[/url]

[*]

[url=#]Téléphone[/url]

[*]

[url=#]e-mail[/url]

[/list]

[*]

[url=#]Nos cours[/url]

[*]

[url=#]Menu 3[/url]

[*]

[url=#]Encore un beau menu 4[/url]

[*]

[url=#]Contact[/url]



Тогда мой вопрос: как я могу проверить все ul.toggled-on, который не принадлежит ветви, где я нажимал
Большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/737 ... a-child-of
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»