Переменные в функции обработчика событий не разрешаются динамически.Зачем? - PullRequest
0 голосов
/ 26 мая 2019

У меня есть элемент списка HTML. Я хочу проверить высоту смещения дочернего элемента, который альтернативно скрывается / переключается при нажатии. Высота смещения равна нулю, когда он скрыт, и 76, когда он обнаружен.

Итак, я создал прослушиватель события click для родительского элемента, в котором я присваиваю offsetheight его дочернего элемента переменной JavaScript. Проблема в том, что переменная JavaScript всегда возвращает ноль, т. Е. Начальное значение offsetheight во время объявления прослушивателя событий.

Значение не изменяется динамически. Хотя в консоли браузера я мог видеть значение высоты смещения, изменяющееся от нуля до 76. В чем причина всего этого или что я должен сделать для динамического захвата свойств смещения переключающего элемента? И, p.s, здесь не происходит никакого события переключения. Слушатель событий переключения не помогает мне.

Вот код:

jQuery('.container-tabs.hidden-xs.hidden-sm').click(function(){
    var a = $(this).attr('href');
    console.log(a);
    var height=document.querySelector('div'+a).offsetheight;
    console.log(height);
});

Атрибуты href родительского класса - это имя класса дочернего элемента. Я использовал его, чтобы выбрать дочерний элемент (я также использовал другие прямые селекторы, но это не помогло). Переменная высота всегда возвращает ноль независимо от того, видим ли элемент видимым или скрытым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...