js取得clientWidth为0的解决
今天由于需要计算div的占位等信息,需要拿到clientWidth,结果却发现一只是0;后来经过不断测试,发现如果不设置div的width属性,即width值为“auto”的情况下,clientWidth永远是0;只有在为width属性设置了其他值(使用百分比或绝对数值都可以)以后才可以正确拿到数据;
但有些情况下,是不需要也不能设置width属性的,这时候如果需要使用clientWidth值,可以通过offsetWidth计算得到,这两个属性相差的只是边框的宽度,用offsetWidth - 边框宽度即可;offsetWidth在不设置width属性时也可以拿到的,幸好。。