作者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/cn.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