js原生.style.width或者.width取不到值

1.元素未设置宽度值。

2.元素设置了宽度值,但,设置在内联或外联样式表中,而非内嵌式的。比如

css代码

    p{
        background:pink;
    }

html代码

<p id="p1">aaaaaaaaaa</p>

PS:虽然这种方式取不到宽度值。但却可以设置元素的宽度值。比如:设置p元素宽度为200px:

 document.getElementById("p1").style.width ="1000px";

综上,所以,只有将元素的样式设置成内嵌式的,才可以通过 document.getElementById("id").style.width 来获取宽度值;

<p id="p1" style="width:166px;">dddddddddd</p>
var w = document.getElementById("p1").style.width; 
alert(w);

执行后输出结果为166px  

那么,对于没有设置宽度的元素、亦或CSS样式非内嵌式的,js原生写法可以通过offsetWidht来获取宽度

即:document.getElementById("#p1").offsetWidth;

ps:对于设置了CSS样式的元素(内联、内嵌、外联)offsetWidth 也都可以获得值

发布了54 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_41615439/article/details/104025945
今日推荐