[問題] Javascript取CSS屬性

看板Web_Design作者 (小強)時間11年前 (2014/07/25 13:47), 11年前編輯推噓3(304)
留言7則, 4人參與, 最新討論串1/1
<html> <head> <style type="text/css"> #obj{ width: 200px; //直接定義css寬200px } </style> </head> <body onload=init();> <div id="obj"></div> <script> function init(){ alert(document.getElementById("obj").style.width);//取不到原本的200px document.getElementById("top_logo").style.width = 640+"px"; alert(document.getElementById("obj").style.width);//取到640px } </script> </body> </html> 像這樣一個簡單的網頁與腳本 我不懂 為什麼取不到style裡的200px 非得用Javascript覆寫css後才會取到後來的640px 網頁新手 求版友提示問題 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.83.72 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1406267242.A.B2F.html ※ 編輯: forestluch (61.231.83.72), 07/25/2014 13:48:29 ※ 編輯: forestluch (61.231.83.72), 07/25/2014 13:49:39

07/25 14:01, , 1F
元素本身style屬性跟選擇器套用的CSS是兩回事
07/25 14:01, 1F
抱歉 但事實上不管是通過選擇器或者style都能夠具體的讓元件呈現指定的屬性 不都是具體的將屬性寫入元件之中嗎? 有沒有關鍵字讓我爬個文?

07/25 14:08, , 2F
直接學JQUERY吧@@
07/25 14:08, 2F

07/25 14:13, , 3F
你把script移到obj的下面試試
07/25 14:13, 3F
Jquery是一定會用的 只是有些基本的東西會想用Javascript來寫 少掛一個lib或者了解基本概念... 如果就目的論是這樣子的 我希望能在<style></style>描述css 畢竟這個css可能會讓其他網頁使用 但我又希望能夠動態的根據當前使用者狀態取得物件css並加以計算覆寫 MangoTW說的style不同於選擇器 那麼用jquery可以解決嗎? 目前想到的就是初始化用document.getElementById逐一寫入style屬性 這樣之後就能正常取值並加以計算 可是這樣做就不能把樣式表寫成.css讓其他網頁使用了 ※ 編輯: forestluch (61.231.83.72), 07/25/2014 14:34:52

07/25 15:02, , 4F

07/25 15:02, , 5F
/en-US/docs/Web/API/HTMLElement.style
07/25 15:02, 5F

07/25 15:02, , 6F
看這頁
07/25 15:02, 6F
謝謝 這個我知道 我以前也都是用Javascript寫入style的 因為之前做的都是webAPP那樣的小頁面 主要著重在js互動 所以也都是在用js寫出css要的樣子 只是這次想要用傳統的css來寫 卻發生js取不到值的問題 ※ 編輯: forestluch (61.231.83.72), 07/25/2014 15:41:57

07/25 15:47, , 7F
你自己看那頁有寫,這不是問題,而是規格。
07/25 15:47, 7F
謝謝 經你這麼一說我再度用破破的英文找到了這段... To get the values of all CSS properties for an element you should use window.getComputedStyle() instead. 基本上實測後已解決利用jAVASCRIPT取得外步css樣式表的問題 ※ 編輯: forestluch (61.231.83.72), 07/25/2014 16:07:39
文章代碼(AID): #1JqUzgil (Web_Design)