我选择一个元素,我需要根据某些规则更改元素的大小,在主流浏览器中都可以正常工作,但在ie11 / Edge中它不起作用。
this.visContainer = this.$element[0].querySelector('.am-visualization-render-area__vis-container');
这是出错的地方我正在尝试将值设置为只读属性
const visContainerBounds = this.visContainer.getBoundingClientRect();
visContainerBounds.width -= this.marginHorizontal;
visContainerBounds.height -= this.marginVertical;
这会返回错误
在严格模式下不允许分配给只读属性
我也试过
this.visContainer.clientWidth -= this.marginHorizontal;
this.visContainer.clientHeight -= this.marginVertical;
const visContainerBounds = this.visContainer.getBoundingClientRect();
现在从我的发现来看,这是由ECMAScript5标准之后的ie和edge引起的,并且chrome ff safari不是这种情况。
我的问题是如何在没有抛出此错误的情况下设置元素宽度的值?任何帮助表示赞赏。
答案 0 :(得分:3)
你不能直接设置风格;像:
this.visContainer.style.width="100px";