关注LAMP|PHP源代码分析|web架构|PHP扩展|Erlang|服务端架构

Javascript 修改与获得style

当我们不使用框架时经常使用如下的方法修改某个元素的样式.

document.getElementById('test').style.color = 'red';

document.getElementById('test').style.left  = '15px';

基本上每个css属性, javascript都有一个对应的style键名对应如 top, font, 对于css中的带有 的属性如font-size则改成驼峰命名式即可:

document.getElementById('test').style.fontSize = '14px';

记住写上px这样的单位是个好习惯因为在某些css模式下不写单位浏览器会因为不知道具体的单位标准而不做任何事情.

在读取时使用style属性就不见得一定有用了如下面的两端代码:

代码一:

<script type="text/javascript">

alert(document.getElementById('test').sytle.left);

</script>

<style type="text/css">

#test {left: 10px; position:absolute;}

</style>

代码二:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Untitled Document</title>

<script type="text/javascript">

alert(document.getElementById('test').sytle.left);

</script>

</head>

<body>

<div id="test" style="left:10px; position:absolute;"></div>

</body>

</html>

第一段代码弹出空第二段代码弹出10px.

那么如果需要读取一个元素的某些属性呢margin, left等呢有两种方式

1. currentStyle(IE Only)  

2. window.getComputedStyle() [W3C标准,  MozillaOpera支持].

代码一:

document.getElementById('test').currentStyle.left;

代码二:

var x = document.getElementById('test');

alert(window.getComputedStyle(x,null).color);

更多内容请参考<<ppkJavaScript>>

javascript之setTimeout使用详解

setTimeout的第一个参数为函数名或者以""包含的js代码如果是第一种情形当函数带有参数时往往不能达到我们预期需要的效果文字说明比较抽象我们来看代码: 继续阅读 »

返回顶部