首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
设计模式——七大原则
设计模式——七大原则
Java架构师必看
2021/05/14
3350
设计模式七大原则
编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有如下特征:
星哥玩云
2022/09/14
3310
设计模式七大原则
设计模式----七大原则和UML类图
之前的支付案例,就是满足开闭原则的一个经典案例,当我们需要增加新的支付方式时,只需要增添一个接口的实现类即可,其余地方代码不需要做改动
大忽悠爱学习
2021/11/15
3440
图解Java设计模式之设计模式七大原则
编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件)。具有更好 1)代码重用性(即:相同功能的代码,不用多次编写) 2)可读性(即:编程规范性,便于其他程序员的阅读和理解) 3)可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护) 4)可靠性(即:当我们增加新的功能后,对原来的功能没有影响) 5)使程序呈现高内聚,低耦合的特性 6)设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要“ 7)Scott Mayers 在其巨著《Effective C++》就曾经说过 :C++老手和C++新手的区别就是前者手背上有很多伤疤
海仔
2020/02/18
5040
图解Java设计模式之设计模式七大原则
设计模式常用的七大原则
编写软件过程中, 程序员面临着来自 耦合性, 内聚性以及可维护性, 可扩展性, 重用性, 灵活性等多方面的挑战, 设计模式是为了让程序(软件), 具有更好的
彼岸舞
2022/05/28
3460
设计模式常用的七大原则
一篇文章让你读懂设计模式的七大原则;不要错过
主要是为了在编码过程中面临着来自耦合性、内聚性以及可维护性、重用性、灵活性等多方面的挑战
@派大星
2023/06/28
1490
一篇文章让你读懂设计模式的七大原则;不要错过
设计模式七大原则(1.2)
设计模式原则是设计设计模式的原则,也就是设计模式应当如何设计所遵守的原则;换句话说,设计模式的设计是基于设计模式原则的。
Noneplus
2019/09/24
4240
设计模式七大原则(1.2)
设计模式概念和七大原则
在GoF(Gang of Four)的书籍《Design Patterns - Elements of Reusable Object-Oriented Software(设计模式-可复用面向对象软件的基础)》中是这样定义设计模式的:Christopher Alexander说过:“每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动” [AIS+77,第10页]。尽管Alexander所指的是城市和建筑模式,但他的思想也同样适用于面向对象设计模式,只是在面向对象的解决方案里, 我们用对象和接口代替了墙壁和门窗。两类模式的核心都在于提供了相关问题的解决方案。一般而言,设计模式有四个基本要素:
Throwable
2020/06/23
20.8K1
设计模式概念和七大原则
设计模式几大原则
单一职责原则(Single Responsibility Principle,SRP):一个类只负责一个功能领域中的相应职责或可以定义为:就一个类而言,应该只有一个引起它变化的原因。
孟君
2020/08/27
4780
设计模式几大原则
设计模式-七大原则(图解一目了然)
软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
唔仄lo咚锵
2020/10/09
3K0
设计模式-七大原则(图解一目了然)
Java设计模式:(1)设计模式七大设计原则-依赖倒转原则
1)依赖倒转原则基于这样的设计理念:相对于细节的多变形,抽象的东西要稳定的多,以抽象为基础搭建的架构比以细节为基础的架构要稳定的多
桑鱼
2020/03/17
4370
java代码设计的6+1大原则
1.开闭原则(Open Close Principle) 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 开放-封闭原则的意思就是说,你设计的时候,时刻要考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。这个原则有两个特性,一个是说“对于扩展是开放的”,另一个是说“对于更改是封闭的”。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。这就是“开放-封闭原则”的精神所在 比如,刚开始需求只是写加法程序,很快在client类中完成后,此时变化没有发生,需求让再添加一个减法功能,此时会发现增加功能需要修改原来这个类,这就违背了开放-封闭原则,于是你就应该考虑重构程序,增加一个抽象的运算类,通过一些面向对象的手段,如继承、动态等来隔离具体加法、减法与client耦合,需求依然可以满足,还能应对变化。此时需求要添加乘除法功能,就不需要再去更改client及加减法类,而是增加乘法和除法子类即可。 绝对的修改关闭是不可能的,无论模块是多么的‘封闭‘,都会存在一些无法对之封闭的变化,既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。在我们最初编写代码时,假设变化不会发生,当变化发生时,我们就创建抽象来隔离以后发生同类的变化。 我们希望的是在开发工作展开不久就知道可能发生的变化,查明可能发生的变化所等待的时候越长,要创建正确的抽象就越困难。开放-封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出现频繁变化的那些部分做出抽象,然而对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要。开放-封闭原则,可以保证以前代码的正确性,因为没有修改以前代码,所以可以保证开发人员专注于将设计放在新扩展的代码上。 简单的用一句经典的话来说:过去的事已成历史,是不可修改的,因为时光不可倒流,但现在或明天计划做什么,是可以自己决定(即扩展)的。
lyb-geek
2018/07/26
9880
00_设计模式6大原则
转载自https://www.cnblogs.com/HigginCui/p/6195318.html
allsmallpig
2021/02/25
2570
设计模式学习笔记(一)设计模式六大原则
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码的可靠性。平常主要有这样的三大类型:
归思君
2023/10/16
3520
设计模式学习笔记(一)设计模式六大原则
设计模式六大原则
  单一职责原则又称为单一功能原则,即不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。
那一叶随风
2018/08/22
3110
设计模式六大原则
六大原则不熟?那你学什么设计模式?来来来,赶紧来!
如果要理解为:一个类只有一个职责,当然也是可以的,简单化嘛。 单一职责的原话解释是这样的:There should never be more than one reason for a class to change. 什么意思?那里,应该,没有,多于,一个,原因,使得,类,去,改变。 啊,咱这蹩脚英语,勉强能翻译啊。
看、未来
2020/08/26
3770
六大原则不熟?那你学什么设计模式?来来来,赶紧来!
Java设计模式的七大基本原则
对类来说的,即一个类应只负责一项职责,如果A负责两个不同的职责:1,2。当1需求变更改变A时,可能造成2执行错误,所以需要将A粒度分解为A1,A2。
小尘要自信
2023/10/10
4550
七大原则+23种设计模式
编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,复用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的
devi
2021/08/18
3.3K0
设计模式六大原则
有言曰,“无规矩不成方圆”,有“规”才能画“圆”,那设计模式要遵循的六大原则要画一个什么的“圆”呢?
mingmingcome
2021/11/29
3610
设计模式六大原则
Java设计模式-六大设计原则
这个原则的意思是:每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好。
框架师
2021/03/05
1.9K0
相关推荐
设计模式——七大原则
更多 >
交个朋友
加入前端学习入门群
前端基础系统教学 经验分享避坑指南
加入腾讯云技术交流站
前端技术前沿探索 云开发实战案例分享
加入前端趋势交流群
追踪前端新趋势 交流学习心得
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档