作者forestluch (小強)
看板Web_Design
標題[問題] Javascript取CSS屬性
時間Fri Jul 25 13:47:19 2014
<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://webptt.com/m.aspx?n=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
1F:推 MangoTW:元素本身style屬性跟選擇器套用的CSS是兩回事 07/25 14:01
抱歉 但事實上不管是通過選擇器或者style都能夠具體的讓元件呈現指定的屬性
不都是具體的將屬性寫入元件之中嗎?
有沒有關鍵字讓我爬個文?
2F:推 crossdunk:直接學JQUERY吧@@ 07/25 14:08
3F:推 vi000246:你把script移到obj的下面試試 07/25 14:13
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
5F:→ superpai:/en-US/docs/Web/API/HTMLElement.style 07/25 15:02
6F:→ superpai:看這頁 07/25 15:02
謝謝
這個我知道 我以前也都是用Javascript寫入style的
因為之前做的都是webAPP那樣的小頁面
主要著重在js互動 所以也都是在用js寫出css要的樣子
只是這次想要用傳統的css來寫
卻發生js取不到值的問題
※ 編輯: forestluch (61.231.83.72), 07/25/2014 15:41:57
7F:→ superpai:你自己看那頁有寫,這不是問題,而是規格。 07/25 15:47
謝謝 經你這麼一說我再度用破破的英文找到了這段...
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