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中操作对象的属性的更多相关文章

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

    http://www.cnblogs.com/liontone/p/3970420.html 函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这 ...

  2. javascript中document对象的属性和方法

    document.documentElement; document.firstChild;document.childNodes[0];// 取得对<html>的引用document.b ...

  3. JavaScript中的可枚举属性与不可枚举属性

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...

  4. JQuery中操作元素的属性_对象属性

    我们主要是通过attr去获取元素的属性: 看body内容: <body> <p> 账号:<input type="text" id="una ...

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

    我们先创建一个对象: var person = { name: "Nicholas", _job: "Software Engineer", sayName: ...

  6. javascript中的对象,原型,原型链和面向对象

    一.javascript中的属性.方法 1.首先,关于javascript中的函数/“方法”,说明两点: 1)如果访问的对象属性是一个函数,有些开发者容易认为该函数属于这个对象,因此把“属性访问”叫做 ...

  7. JQuery 操作对象的属性值

    通过JQuery去操作前台对象(div,span...)的属性是很常见的事情,本文就简单的介绍几种操作情形. 1):通过属性值去获取对象 2):用JQuery去修改对象的属性值 3):获取并修改对象的 ...

  8. (转)javascript中event对象详解

    原文:http://jiajiale.iteye.com/blog/195906 javascript中event对象详解          博客分类: javaScript JavaScriptCS ...

  9. Javascript中的对象和原型(一)(转载)

    面向对象的语言(如Java)中有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,JavaScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. 要了解面向对象,首 ...

随机推荐

  1. WebBrowser获取页面总高度

    case DISPID_DOCUMENTCOMPLETE: { #pragma region 获取页面总高度 HRESULT hr; IDispatch *pdisp; hr = m_pWebBrow ...

  2. 安卓开发--sharedpreferences存储数据

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...

  3. mysql if使用实例

    //DELIMITER DROP PROCEDURE if EXISTS createAmountCount; create PROCEDURE createAmountCount() BEGIN D ...

  4. SparkCore基础(一)

    * SparkCore基础(一) 学习Spark,首先要熟悉Scala,当然你说你会Python或者Java能不能玩Spark?能!但是不推荐,首推Scala,因为Scala非常便捷,而且Scala有 ...

  5. C语言基础-第一章

    1.常量 直接常量: int mm=100; float nn=100.01; 字符常量:   编译指令,#define 常量名 常量值   (预处理命令,预处理命令都#开头.成为宏命令)  关键字, ...

  6. bootstrap-treeview简单使用

    废话不多说,直接上干干货. 1.bootstrap-treeview Github网址:https://github.com/jonmiles/bootstrap-treeview 2.使用要求: & ...

  7. 01背包-第k优解

    The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup&quo ...

  8. centos通过yum安装jdk

    安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...

  9. WSGI和CGI

    https://www.zhihu.com/question/19998865 https://segmentfault.com/a/1190000003069785

  10. 是我太天真之被BUG按在地上疯狂摩擦

    事情是这样的,我是一个追求完美的人,特别喜欢锦上添花,去年在学习python的时候做了一个作业:多重剪贴板,今天大概是吃饱了,查了一下自己的头发以后,我觉得可以挑战一下自己,所以决定为那个小程序添加一 ...