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 也都可以獲得值

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章