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 手机号码合法性验证代码集合
Sep 29 Javascript
js优化针对IE6.0起作用(详细整理)
Dec 25 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
Nov 02 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
Mar 14 Javascript
js实现类似MSN提示的页面效果代码分享
Aug 24 Javascript
webpack3+React 的配置全解
Aug 21 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
May 23 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 Javascript
微信小程序反编译的实现
Dec 10 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/06/24 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python 读写文件的操作代码
2018/09/20 Python
python实现视频分帧效果
2019/05/31 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python爬虫容易学吗
2020/06/02 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
庆六一活动总结
2014/08/29 职场文书
优秀教师单行材料
2014/12/16 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
消防演习感想
2015/08/10 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
js前端图片加载异常兜底方案
2022/06/21 Javascript