Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第60天:js常用访问CSS属性的方法

第60天:js常用访问CSS属性的方法

作者头像
半指温柔乐
发布于 2018-09-11 03:54:07
发布于 2018-09-11 03:54:07
1.2K00
代码可运行
举报
文章被收录于专栏:前端知识分享前端知识分享
运行总次数:0
代码可运行

一、 js 常用访问CSS 属性的方法

我们访问得到css 属性,比较常用的有两种:

    1. 利用点语法

 box.style.width      box.style.top    

点语法可以得到 width  属性  和 top属性  带有单位的。 100px

但是这个语法有非常大的缺陷, 不变的。

后面的width  和 top  没有办法传递参数的。

      var w = width;

 box.style.w

2. 利用 []  访问属性

语法格式:  box.style[“width”]   

元素.style[“属性”];

console.log(box.style["left"]);

最大的优点 可以给属性传递参数

二、  得到css 样式

我们想要获得css 的样式, box.style.left    box.style.backgorundColor

但是它只能得到 行内的样式。

但是我们工作最多用的是 内嵌式 或者 外链式 。

怎么办?

核心: 我们怎么才能得到内嵌或者外链的样式呢?

1、 obj.currentStyle   ie  opera  常用

外部(使用<link>)和内嵌(使用<style>)样式表中的样式(ie和opera)

2、window.getComputedStyle("元素", "伪类")    w3c

两个选项是必须的, 没有伪类 用 null 替代

 3 、兼容写法 :

我们这个元素里面的属性很多, left  top  width  ===

我们想要某个属性, 就应该 返回改属性,所有继续封装 返回当前样式的 函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 1    var demo = document.getElementById("demo");
 2 2      function getStyle(obj,attr) {  //  谁的      那个属性
 3 3          if(obj.currentStyle)  // ie 等
 4 4          {
 5 5              return obj.currentStyle[attr];  
 6 6          }
 7 7          else
 8 8          {
 9 9              return window.getComputedStyle(obj,null)[attr];  // w3c 浏览器
10 10          }
11 11      }
12 12      console.log(getStyle(demo,"width"));
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第61天:json遍历和封装运动框架(多个属性)
 var json = {width:200,height:300,left:50} console.log(json.width); for(var k in json) { console.log(k);   // k 遍历的是json  可以得到的是  属性 console.log(json[k]);  // json[k]  得到 是属性的  值 }
半指温柔乐
2018/09/11
6820
第61天:json遍历和封装运动框架(多个属性)
23个项目管理经典案例_交互动画
注意: speed = (end - box.offsetLeft)/20; 代表用(终点位置-当前位置)/动画系数 动画系数可以控制动画的快慢
全栈程序员站长
2022/11/03
1.9K0
currentStyle
3,函数本身也是对象,对象就有属性,函数有length属性,比如: function fn(x,y,z) {}中 fn.length=3,说明了函数的形参个数; 而在函数体内,arguments.length表示传入函数的实参个数,比如:function fun(1,2) { console.log(arguments.length)} 中实参的个数为arguments.length=2
全栈程序员站长
2022/09/06
2520
第208天:jQuery框架封装(一)
1.1冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象或者body)的顺序触发。
半指温柔乐
2018/09/11
8020
getComputedStyle与currentStyle[通俗易懂]
本文参考https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle
全栈程序员站长
2022/09/14
2.5K0
getComputedStyle与currentStyle[通俗易懂]
JavaScript基础学习--10 return、定时器基础
Demos:   https://github.com/jiangheyan/JavaScriptBase 一、return      1、返回值:数字、字符串、布尔、函数、对象({}、[]、元素、null)、未定义      2、return值==fn(); function fn(a){ return function (b){ alert(a+b); } } alert(fn()) //function (b){ ale
用户1148399
2018/01/09
8470
20171020
1.运动函数封装 1.一级 备注:接受两个参数,一个是被操作对象,另一个是目标位置, 缺陷:只能实现单一方向的运动 var one = document.getElementById("one"); 调用:animate(one,500); eg: function animate(obj,target){ clearInterval(timer); timer = setInterval(function(){ var
天天_哥
2018/09/29
4860
前端学习(48)~通过style对象获取和设置行内样式
需要注意的是:style是一个对象,只能获取行内样式,不能获取内嵌的样式和外链的样式。例如:
Vincent-yuan
2020/03/19
1.5K0
利用原生JavaScript获取样式的方式小结
ps:是获取样式。不是设置样式。若没有给元素设置样式值。则返回浏览器给予的默认值。(论坛整理)
全栈程序员站长
2022/07/10
3750
css中简介盒模型
在我们HTML页面中,每一个元素都可以被看作一个盒子,而这个盒子由:内容区(content)、填充区(padding)、边框区(border)、外边界区(margin)四部分组成。
江一铭
2022/06/16
3820
css中简介盒模型
第六节盒子模型和盒子模型偏移量
------------------------------------盒子模型常用的八个属性--------------------------------- Js盒子模型 Js盒子模型指的是通过js提供的一系列的属性和方法,获取页面中元素的样式信息值 client系列(当前元素的私有属性) clientWidth/clientHeight:内容的宽度/高度+左右/上下填充,(和内容溢出没有关系) clientLeft:左边框的宽度(borderLeftWidth) clientTop:上
河湾欢儿
2018/09/06
1K0
HTML5-类库系列 事件与获取完成版样式
HTML5学堂:最近讲师团队在学习JS类库的知识,因此就跟大家一起共享一下类库的搭建吧。今天要讲解的功能是:获取渲染后样式以及事件兼容处理。渲染后样式修正了通过style属性获取样式的不足,而事件兼容问题主要考虑了this的指向修正。 获取完成(渲染后)样式 在IE下,对于获取渲染后的样式,使用currentStyle进行获取,而对于FF,使用的是getComputedStyle方法进行获取。两者的语法并不相同。元素.currentStyle[属性],也可以用点语法进行书写;而getComputedStyl
HTML5学堂
2018/03/12
8630
HTML5-类库系列 事件与获取完成版样式
【CSS进阶】原生JS getComputedStyle等方法解析
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读源码让我接触到了大量底层的知识。对原生JS 、框架设计、代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuer
Sb_Coco
2018/05/28
1.6K0
【前端芝士树】详解CSS盒模型、BFC、OffsetWidth&ClientWidth&ScrollWidth
2018搜狐前端笔试题 盒模型本质上是用以封装HTML元素的概念盒子,它包含了边距,边框,填充以及实际内容。 即由外向里是 margin, border, padding, content
CloudCat
2022/06/15
1.1K0
【前端芝士树】详解CSS盒模型、BFC、OffsetWidth&ClientWidth&ScrollWidth
Javascript(2)-js进阶
备注:如果父元素进行了relative/absolute定位,offsetTop/offsetLeft就是相对父元素的顶部和左边的距离,如果父元素默认定位,就是相对浏览器窗口的距离
Python攻城狮
2018/08/23
1.5K0
Javascript(2)-js进阶
从零开始学 Web 之 BOM(三)offset,scroll,变速动画函数
在 window 下有一个方法:window.getComputedStyle(element, string) 可以获取一个元素所有的属性值。
Daotin
2018/08/31
1.2K0
CSS魔法堂:一起玩透伪元素和Content属性
 继上篇《CSS魔法堂:稍稍深入伪类选择器》记录完伪类后,我自然而然要向伪元素伸出“魔掌”的啦^_^。本文讲讲述伪元素以及功能强大的Contet属性,让我们可以通过伪元素更好地实现更多的可能!
^_^肥仔John
2018/10/08
8620
CSS魔法堂:一起玩透伪元素和Content属性
利用JavaScript获取浏览器计算后的样式
HTML5学堂:JavaScript可以用style对象给标签设置样式、获取样式,但是利用style对象获取的样式只能是标签内联的样式,今天要给大家讲解的是利用currentStyle对象与getComputedStyle方法来获取浏览器计算后的样式。 哪些样式是属于浏览器计算后的样式 要检测标签的样式有包含在头部书写样式、标签内联样式和外部的样式,即浏览器计算后的样式。 getComputedStyle(element[, pseudoElt])方法 element用于计算样式的标签;pseudoElt可
HTML5学堂
2018/03/12
1K0
利用JavaScript获取浏览器计算后的样式
获取元素CSS样式
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>获取css样式</title> 9 <
ProsperLee
2019/03/06
2K0
伪类
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style type="text/css"> *{padding: 0px;margin: 0px;} #div1 { width: 200px;height: 200
贵哥的编程之路
2020/10/28
7740
相关推荐
第61天:json遍历和封装运动框架(多个属性)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验