JavaScript中操作对象的属性

1.操作对象的属性

注意:

标签属性与DOM对象属性的对应关系:

绝大部分2者是相同的,如:imgobj.src属性对应<img src="" >中src属性,但也有例外,如<div class="main" >中,操作class属性用divobj.className。

CSS属性与DOM对象属性的对应关系:

1. 两者通过obj.style.css属性名 相对应   如:obj.style.width。

2.如果CSS属性带有横线,如border-top-style  ,则把横线去掉并将横线后字母大写 。  如:obj.style.borderTopStyle。

例子:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html"; charset="utf-8"/>
	<title></title>
</head>
<style type="text/css">
	.test1{
		background: red;
	}
	.test2{
		background: green;
	}
</style>
<body>
<div class="test1"  onclick="a();" style="width:200px; height:200px; border-bottom:1px solid">
	点击div,使其背景色红绿交替,宽高增加5px,下边框增粗1px;

</div>
<script type="text/javascript">
	function a(){
		var div = document.getElementsByTagName('div')[0];
		if(div.className.indexOf('test1')>=0){
			div.className = 'test2';
		}else{
			div.className = 'test1';
		}

		div.style.width = parseInt(div.style.width)+10+'px';
		div.style.height = parseInt(div.style.height)+10+'px';
		div.style.borderBottomWidth = parseInt(div.style.borderBottomWidth)+1+'px';
	}
</script>
</body>
</html>

获取对象在内存中计算后的样式:

用obj.currenStyle 和window.getComputedStyle()获取。

注意:只有IE和Opera支持使用currentStyle获取HTML Element的计算后的样式,其他浏览器不支持。标准的浏览器用getComputedStyle,IE9以上也支持getComputedStyle。

window.getComputedStyle(obj,伪元素);

参数说明:1.第一个参数为要获取计算后的样式的目标元素

2.第二个参数为期望的伪元素,如:‘:after’,‘:first-letter’等,一般设为 null。

function getStyle(obj,attr){
		 return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,null)[attr];
	}  //考虑兼容性,封装函数。

上述例子修改后的版本:修改后的版本将 CSS 的style属性放到了body之外。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html"; charset="utf-8"/>
	<title></title>
</head>
<style type="text/css">
	div{
		width: 200px;
		height: 200px;
		border-bottom: 1px solid black;
	}
	.test1{
		background: red;
	}
	.test2{
		background: green;
	}
</style>
<body>
<div class="test1"  onclick="a();" >
	点击div,使其背景色红绿交替,宽高增加5px,下边框增粗1px;

</div>
<script type="text/javascript">
	function getStyle(obj,attr){
		 return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,null)[attr];
	}  //考虑兼容性,封装函数。
	function a(){
		var div = document.getElementsByTagName('div')[0];
		if(div.className.indexOf('test1')>=0){
			div.className = 'test2';
		}else{
			div.className = 'test1';
		}
		//alert(getStyle(div,'width'));
		//return;
		div.style.width = parseInt(getStyle(div,'width'))+10+'px';
		div.style.height = parseInt(getStyle(div,'height'))+10+'px';
		div.style.borderBottomWidth = parseInt(getStyle(div,'borderBottomWidth'))+1+'px';
	}
</script>
</body>
</html>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 16:52:52

JavaScript中操作对象的属性的相关文章

全面理解Javascript中Function对象的属性和方法

函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这些属性和方法,这对于理解Javascript的继承机制具有一定的帮助. 属性(Properties) arguments 获取当前正在执行的 Function 对象的所有参数,是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length.还有就是arguments对象存储的是实际传递给

JavaScript中的对象描述符(属性特性)

我们先创建一个对象: var person = { name: "Nicholas", _job: "Software Engineer", sayName: function(){ alert(this.name); }, get job(){ return this._job; }, set job(newJob){ this._job=newJob; } } 在这个对象中,我们定义了一个name属性和一个_job属性:至于以set和get开头的两处代码,他们共

JQuery 操作对象的属性值

通过JQuery去操作前台对象(div,span...)的属性是很常见的事情,本文就简单的介绍几种操作情形. 1):通过属性值去获取对象 2):用JQuery去修改对象的属性值 3):获取并修改对象的Style的属性值 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src=&quo

【好文收藏】javascript中event对象详解

event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义. 例子 下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转. <HTML> <HEAD><TITLE>Cancels Links</T

javascript中event对象详解

event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义. 例子 下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转. 前端UI资源I分享 <HTML> <HEAD><TITLE>Cancels L

JavaScript中的对象

JavaScript对象 JavaScript对象是基本数据类型之一,是复合型数据: JavaScript中几乎所有事物都是做对象: JavaScript的对象是拥有属性和方法的数据: JavaScript 中的对象可以简单理解成"名称:值"对(name:value). JavaScript中的对象分类 1.内建对象: 数据分装对象(object.object.prototype.Number.Boolean.String.Array.Function): 工具类对象(Math.Dat

JavaScript中String对象的match()、replace() 配合正则表达式使用

正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时,match()返回null,replace()返回原字符串. 正则表达式的模板对象 //标准写法 regexp = new RegExp(pattern[, flag]); pattern: 模板的用法是关键,也是本章的主要内容. flag: "i"(ignore)."g&quo

(转)JavaScript中判断对象类型的种种方法

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

Javascript中的对象和原型(3)

在Javascript中的对象和原型(二)中我们提到,用构造函数创建的对象里面,每个对象之间都是独立的,这样就会降低系统资源的利用率,解决这样问题,我们就要用到下面提到的原型对象. 一 原型对象 原型对象实际上就是构造函数的一个实例对象,和普通的实例对象没有本质上的区别.可以包含特定类型的所有实例的共享属性或者方法.这样,如果我们需要修改所有实例中的属性或者方法,就只需要修改一处,就能够影响到所有实例了.因为原型中的属性和方法是共享的.我们可以看下两个图示:       构造函数方式 原型模式方