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>
JavaScript中操作对象的属性的更多相关文章
- 全面理解Javascript中Function对象的属性和方法
http://www.cnblogs.com/liontone/p/3970420.html 函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这 ...
- javascript中document对象的属性和方法
document.documentElement; document.firstChild;document.childNodes[0];// 取得对<html>的引用document.b ...
- JavaScript中的可枚举属性与不可枚举属性
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...
- JQuery中操作元素的属性_对象属性
我们主要是通过attr去获取元素的属性: 看body内容: <body> <p> 账号:<input type="text" id="una ...
- JavaScript中的对象描述符(属性特性)
我们先创建一个对象: var person = { name: "Nicholas", _job: "Software Engineer", sayName: ...
- javascript中的对象,原型,原型链和面向对象
一.javascript中的属性.方法 1.首先,关于javascript中的函数/“方法”,说明两点: 1)如果访问的对象属性是一个函数,有些开发者容易认为该函数属于这个对象,因此把“属性访问”叫做 ...
- JQuery 操作对象的属性值
通过JQuery去操作前台对象(div,span...)的属性是很常见的事情,本文就简单的介绍几种操作情形. 1):通过属性值去获取对象 2):用JQuery去修改对象的属性值 3):获取并修改对象的 ...
- (转)javascript中event对象详解
原文:http://jiajiale.iteye.com/blog/195906 javascript中event对象详解 博客分类: javaScript JavaScriptCS ...
- Javascript中的对象和原型(一)(转载)
面向对象的语言(如Java)中有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,JavaScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. 要了解面向对象,首 ...
随机推荐
- WebBrowser获取页面总高度
case DISPID_DOCUMENTCOMPLETE: { #pragma region 获取页面总高度 HRESULT hr; IDispatch *pdisp; hr = m_pWebBrow ...
- 安卓开发--sharedpreferences存储数据
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...
- mysql if使用实例
//DELIMITER DROP PROCEDURE if EXISTS createAmountCount; create PROCEDURE createAmountCount() BEGIN D ...
- SparkCore基础(一)
* SparkCore基础(一) 学习Spark,首先要熟悉Scala,当然你说你会Python或者Java能不能玩Spark?能!但是不推荐,首推Scala,因为Scala非常便捷,而且Scala有 ...
- C语言基础-第一章
1.常量 直接常量: int mm=100; float nn=100.01; 字符常量: 编译指令,#define 常量名 常量值 (预处理命令,预处理命令都#开头.成为宏命令) 关键字, ...
- bootstrap-treeview简单使用
废话不多说,直接上干干货. 1.bootstrap-treeview Github网址:https://github.com/jonmiles/bootstrap-treeview 2.使用要求: & ...
- 01背包-第k优解
The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup&quo ...
- centos通过yum安装jdk
安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...
- WSGI和CGI
https://www.zhihu.com/question/19998865 https://segmentfault.com/a/1190000003069785
- 是我太天真之被BUG按在地上疯狂摩擦
事情是这样的,我是一个追求完美的人,特别喜欢锦上添花,去年在学习python的时候做了一个作业:多重剪贴板,今天大概是吃饱了,查了一下自己的头发以后,我觉得可以挑战一下自己,所以决定为那个小程序添加一 ...