无法动态修改div高度?求有效解决办法
问题解决方法
你现在的问题出在修改的对象不对:
- 你用
setAttribute()改的是HTML标签上的height属性,但CSS类.div_tab里已经写了height: 500px,CSS类的样式优先级比HTML属性高,所以就算属性改了,页面上还是会用CSS里的高度值。
正确的修改方式
直接操作元素的内联样式,内联样式优先级比类样式高,能直接覆盖原有设置:
// 注意px要带单位,比如是"400px";如果计算出来的是纯数字,要拼接单位:px + "px" this.tabDiv.style.height = px; this.tabDiv.style.maxHeight = px;
举个实际例子,如果你的计算结果是数字350,代码要写成:
this.tabDiv.style.height = `${350}px`; // 或者用字符串拼接 this.tabDiv.style.height = 350 + "px";
这样修改后,div的高度就会正常更新了。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

