事件处理函数中的变量不是动态解析的。为什么?

时间:2019-05-26 03:00:25

标签: javascript jquery variables addeventlistener offset

我有一个列表html元素。我想检查子元素的offsetheight,该子元素在单击时会隐藏/切换。 offsetheight在隐藏时为零,在显示时为76。

因此,我为父元素创建了一个click事件侦听器,其中将其子元素的offsetheight分配给了JavaScript变量。问题是JavaScript变量始终返回零,即在声明事件侦听器时的初始offsetheight值。

该值没有动态更改。但是,在浏览器控制台中,我可以看到偏移高度值在0到76之间变化。这是什么原因,或者我应该怎么做才能动态捕获切换元素的偏移属性?附言,这里没有发生切换事件。切换事件监听器对我没有帮助。

代码如下:

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属性是子元素的类名。我用它来选择子元素(我也用过其他直接选择器,但没有帮助)。无论元素是可见还是隐藏,可变高度总是返回零。

0 个答案:

没有答案