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高级程序设计(第3版)学习笔记5 js语句
Oct 11 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
每天一篇javascript学习小结(RegExp对象)
Nov 17 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
jQuery实现简单的tab标签页效果
Sep 12 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 Javascript
JavaScript数组复制详解
Feb 02 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
vue实现element表格里表头信息提示功能(推荐)
Nov 20 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
Openlayers实现距离面积测量
Sep 28 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 Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
js 数组操作代码集锦
2009/04/28 Javascript
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
python安装pywin32clipboard的操作方法
2019/01/24 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
python3排序的实例方法
2020/10/20 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
培训主管的岗位职责
2013/11/23 职场文书
公证委托书大全
2014/04/04 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
甲午大海战观后感
2015/06/02 职场文书
杨善洲电影观后感
2015/06/04 职场文书
生产设备维护保养制度
2015/08/06 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
利用Java连接Hadoop进行编程
2022/06/28 Java/Android