js获取某元素的class里面的css属性值代码


Posted in Javascript onJanuary 16, 2014

用js如何获取div中css的 margin、padding、height、border等。你可能说可以直接用document.getElementById("id").style.margin获取。但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性)。而下面方法则两者值都可以获取。
实例效果图如下:

js获取某元素的class里面的css属性值代码

 

js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点。
getStyle(obj,attr) 调用方法说明:obj为对像,attr为属性名必须兼容js中的写法(可以参考:JS可以控制样式的名称写法)。

Js代码

function getStyle(obj,attr){
    var ie = !+"\v1";//简单判断ie6~8
 if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition写法,识别backgroundPositionX/Y
  if(ie){        
   return obj.currentStyle.backgroundPositionX +" "+obj.currentStyle.backgroundPositionY;
     }
 }
 if(obj.currentStyle){
  return obj.currentStyle[attr];
 }
 else{
  return document.defaultView.getComputedStyle(obj,null)[attr];
 }
}

完整实例测试代码:
Html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>js获取某元素的class里面的css属性值</title>
<style>
#box1{margin:5px;padding:5px;height:100px;width:200px;}
a{border:1px solid #ccc;border-radius:3px;padding:3px 5px;margin:5px 0;display:inline-block;background:#eee;color:#f60;text-decoration:none;font-size:12px;}
a:hover{color:#ff0000;background:#fff;}
</style>
</head>
<body>
<div id="box1">box1的css.#box1{margin:5px;padding:5px;height:100px;width:200px;}</div>
<a href="javascript:;" onclick="getcss('marginTop')">获取box1的margin-top</a><br />
<a href="javascript:;" onclick="getcss('paddingTop')">获取box1的padding-top</a><br />
<a href="javascript:;" onclick="getcss('height')">获取box1的height</a><br />
<script>
//获取class里面的属性值
var divs=document.getElementById("box1");
function getStyle(obj,attr){
    var ie = !+"\v1";//简单判断ie6~8
 if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition写法,识别backgroundPositionX/Y
  if(ie){        
   return obj.currentStyle.backgroundPositionX +" "+obj.currentStyle.backgroundPositionY;
     }
 }
 if(obj.currentStyle){
  return obj.currentStyle[attr];
 }
 else{
  return document.defaultView.getComputedStyle(obj,null)[attr];
 }
}
function getcss(typ){
 alert(getStyle(divs,typ));
}
</script>
</body>
</html>
Javascript 相关文章推荐
js 时间函数应用加、减、比较、格式转换的示例代码
Aug 23 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
AngularJS打开页面隐藏显示表达式用法示例
Dec 25 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
Jan 09 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 Javascript
js实现多行文本框统计剩余字数功能
Mar 28 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 Javascript
详解JavaScript事件循环机制
Sep 07 Javascript
详解Vue 全局变量,局部变量
Apr 17 Javascript
详解基于原生JS验证表单组件xy-form
Aug 20 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
JS判断数组四种实现方法详解
Jun 29 Javascript
JS可以控制样式的名称写法一览
Jan 16 #Javascript
js仿百度贴吧验证码特效实例代码
Jan 16 #Javascript
js中传递特殊字符(+,&amp;)的方法
Jan 16 #Javascript
利用浏览器全屏api实现js全屏
Jan 16 #Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 #Javascript
JS和Jquery获取和修改label的值的示例代码
Jan 15 #Javascript
javascript中验证大写字母、数字和中文
Jan 15 #Javascript
You might like
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
大三自我鉴定范文
2013/10/05 职场文书
医学生自我鉴定范文
2013/11/08 职场文书
建筑管理专业求职信
2014/07/28 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
冰峪沟导游词
2015/02/09 职场文书
后勤个人工作总结
2015/02/28 职场文书
文员岗位职责范本
2015/04/16 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript