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 dom追加内容实现示例
Sep 21 Javascript
浅谈JavaScript实现面向对象中的类
Dec 09 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
May 05 Javascript
轻松掌握JavaScript状态模式
Sep 07 Javascript
Javascript 两种刷新方法以及区别和适用范围
Jan 17 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
Feb 26 Javascript
vue使用iframe嵌入网页的示例代码
Jun 09 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
JS中封装axios来管控api的2种方式
Sep 11 Javascript
vue Cli 环境删除与重装教程 - 版本文档
Sep 11 Javascript
vue中template的三种写法示例
Oct 21 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
原生js实现简单的链式操作
2017/07/04 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python实现控制台输入密码的方法
2015/05/29 Python
Django中的Signal代码详解
2018/02/05 Python
python flask框架实现重定向功能示例
2019/07/02 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
pyqt5中动画的使用详解
2020/04/01 Python
python3中sys.argv的实例用法
2020/04/24 Python
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
德国网上宠物店:Zoobio
2018/05/23 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
创业计划书中包含的9个方面
2013/12/26 职场文书
成考报名单位证明范本
2014/01/16 职场文书
中国入世承诺
2014/04/01 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
中秋节祝酒词
2015/08/12 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL