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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
jqplot通过ajax动态画折线图的方法及思路
Dec 08 Javascript
js写的评论分页(还不错)
Dec 23 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
Nov 29 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
javascript浏览器用户代理检测脚本实现方法
Oct 27 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 Javascript
Vue element-ui父组件控制子组件的表单校验操作
Jul 17 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
Aug 08 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 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生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
Python写的Socks5协议代理服务器
2014/08/06 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
财务管理职业生涯规划范文
2013/12/27 职场文书
社会实践心得体会
2014/01/03 职场文书
经典英文广告词
2014/03/18 职场文书
妇女干部培训方案
2014/05/12 职场文书
大专学生求职自荐信
2014/07/06 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
Python办公自动化解决world文件批量转换
2021/09/15 Python
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript