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 相关文章推荐
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
May 11 Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 Javascript
第一次接触神奇的前端框架vue.js
Dec 01 Javascript
基于jQuery实现顶部导航栏功能
Dec 27 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
Feb 13 Javascript
JavaScript函数节流和函数防抖之间的区别
Feb 15 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
TypeScript中的方法重载详解
Apr 12 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中static静态变量的使用方法详解
2010/06/04 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
php去掉文件前几行的方法
2015/07/29 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
jquery实现控制表格行高亮实例
2013/06/05 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
python实现windows下文件备份脚本
2018/05/27 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
基于python历史天气采集的分析
2019/02/14 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
python实现简单坦克大战
2020/03/27 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
课前一分钟演讲稿
2014/08/26 职场文书
超市督导岗位职责
2015/04/10 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
高温慰问简报
2015/07/21 职场文书
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android
MySQL 条件查询的常用操作
2022/04/28 MySQL