首页
学习
活动
专区
圈层
工具
发布

【CSS进阶】原生JS getComputedStyle等方法解析

可能平时框架使用习惯了,以 jQuery 为例,使用 .css() 接口就能便捷的满足我们的要求。...也就是如果我需要获取 font-size 属性,那么传入的参数应该是 fontSize。因此在IE 中要获得单个属性的值,就必须将属性名转为驼峰形式。...其次,element.style 只可以获取 style 样式上的属性值,而无法得到所有的 CSS 样式值,什么意思呢?...(camelize(style)); } } setStyle(elem, style, value) 说完 get ,再说说 setStyle ,相较于getStyle ,setStyle 则便捷很多...而且在 IE 中,如果 cssText(假如不为空),最后一个分号会被删掉,所以我们需要在其中添加的属性前加上一个 ”;”  。 只是在 IE 下的 opacity 需要额外的进行处理。

1.8K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    获取元素的最终background-color

    而摆脱jQuery等工具库,用原生js获取样式,是每个前端程序猿进阶阶段必须掌握的技能。 2.考察面试者的思维缜密程度和开发经验  如果认为单单求元素计算后的样式,就有点too young了。...内联样式  内联样式可以通过元素的style属性获取,如果style属性有background-color值,则可以直接获取出来 (暂不考虑!important) 。 2....作用是将连字符类的css属性值,转换成驼峰写法。  ...如果能顺利获取到元素样式,且不触发4.4 排除特殊情况中的一种,则直接返回结果。  ...触发了特殊情况,则需要查找父节点以及更上层的节点的样式,来获取肉眼能看到,显示在页面上的background-color值。  在向上回溯的过程中,如果已经回溯到html根节点,则可以停止回溯。

    1.8K20

    网页中代码的顺序是不可忽略的细节

    例如:刚刚添加的样式不起作用、jQuery 的代码老是不起作用等等,这些问题往往是不关注细节导致的。而今天我要谈的这个细节,就是关于网页中代码的顺序。...答案是代码排在后面的属性值。冲突的内容,后面的属性值就会覆盖前面的属性值。 因此要注意,一些 CSS reset 等要先加载,然后在后面加载自己写的属性值。...如果有时候,你真的无法修改加载文件的顺序,那么面对这种情况,你可以使用 CSS 中的 !important 语法,告诉浏览器要使用这个属性解决冲突。...CSS 中,有的属性既可以分开写,也可以合并起来写。...例如:border :1px solid #ccc;如果 1px solid #ccc 这三个值的顺序出问题了,那么浏览器就可能无法解读这段 CSS 的样式。

    1.8K30

    zepto 基础知识(2)

    类型:self   读取或设置dom的属性,如果没有给定value参数,则读取对象集合中第一个元素的属性值,当给定了v     lue 参数。...则设置对象集合中所有元素的属性值,当vale 参数为null 。     ...行为有点像attr, 但是属性名称前面加上data-   当读取属性值时,会有下列转换   “true”, “false”, and “null” 被转换为相应的类型;   ...数字值转换为实际的数字类型;   JSON值将会被解析,如果它是有效的JSON;   其它的一切作为字符串返回。   ...类型:collection   过滤对象集合,返回对象结婚中满足css选择器的项,如果参数作为一个函数,函数返回有实际值的时候,元素才会被返回,在函数中,this 关键字指向当前的元素。

    1.1K60

    JavaScript中的函数重载(Function overloading)

    我们看看 jQuery 中的 css( ) 方法。 css( ) 方法返回或设置匹配的元素的一个或多个样式属性。 css(name|pro|[,val|fn]) ?...而在只有一个参数的情况下,如果参数类型是字符串或者数组就是获取属性值,而如果参数是对象,就是是设置属性值。 jQuery 的 css( ) 方法就是通过判断参数的类型,来确定执行什么操作。...我们来看看jQuery 3.3.1中的源码 // name 表示属性名 // value 表示属性值 css: function( name, value ) { return access( this...// 设置多个属性值 // 如果属性名(key)的类型是 object,就遍历这个对象 // 遍历一次就调用一次 access()方法,并传入这次的属性名和属性值 if ( jQuery.type( key...2、jQuery.style( ) 方法:在DOM节点上读取或设置样式属性 在css( )方法中,如果有传第二个参数,也就是有要设置的属性值时,那就会调用 jQuery.style( ) 方法设置样式

    2.1K10

    06-老马jQuery教程-jQuery高级

    (arr|obj,callback) 返回值: Array新数组 概述 将一个数组中的元素转换到另一个数组中。...作为参数的转换函数会为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。...invert:如果 "invert" 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。...(value,array,[fromIndex]) 概述 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。...如果不指定target,则给jQuery命名空间本身进行扩展。这有助于插件作者为jQuery增加新方法。 如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象。

    2.3K00

    第73天:jQuery基本动画总结

    一、DOM对象跟jQuery对象相互转换 jQuery对象转换成DOM对象: 方式一:$(“#btn”)[0] 方式二:$(“#btn”).get(0) DOM对象转换成jQuery对象: $(document...1、jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性。...但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果 $elem.hide() 提供参数:...如果数组中不存在该值,则返回 -1。...,则返回值就是jQuery对象中第一个元素相对于它同辈元素的位置 - 如果在一组元素上调用 .index() ,并且参数是一个DOM元素或jQuery对象, .index() 返回值就是传入的元素相对于原先集合的位置

    4.6K10

    06-移动端开发教程-fullpage框架

    文件,jQuery,如果设置了options中css3: false*,如果你用除了jQuery的默认linear 和swing缓动的效果之外的缓动效果的话,需要添加 jQuery UI library...-- 如果是ie8浏览器或者设置了css3: false 那么需要引入jQuery的easing缓动插件,默认可以省略就行了。...true 是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条 scrollOverflow 布尔值 false 内容超过满屏后是否显示滚动条 css3 布尔值 false 是否使用...配合animate.css的问题,animate的动画添加上animated样式和具体的动画类型才会具有动画效果。如果一开始全设置好了那么只有第一屏有动画效果,不是我们想要的结果。...动画样式类可以提前记录在一个数组中或者是放到动画元素的自定义属性中。

    6.4K50

    JQuery干货篇之选择元素

    针对源jquery对象中的每一个元素都调用一次这个函数,而函数返回的HtmlElement对象将会变成一个jquery对象,参数是function(index,elem),其中`index是序号,elem...是jquery对象中的每一个HTMLElelments对象,这里必须要有返回值,不然没有意义 实例: $("div.dcell").map(function(index,elem){ return...elem.getElementsByTagName("img")[0]; //这里的elem是$(div.dcell)中的每一个HtmlElement对象,返回的是img元素 }).css("border...jquery对象中的某个或者某些元素是否满足测试条件,其中的形式有is(selector),is(HtmlElement),is(jquery),is(function(index))如果结果集中至少有一个元素匹配指定的条件...,那么就返回true,否则false 实例: console.log($("img").is("[src*=astor]"));//这里是判断img中的src属性有没有astor字段的,如果存在返回

    2.3K30

    06-移动端开发教程-fullpage框架

    文件,jQuery,如果设置了options中css3: false*,如果你用除了jQuery的默认linear 和swing缓动的效果之外的缓动效果的话,需要添加 jQuery UI library...-- 如果是ie8浏览器或者设置了css3: false 那么需要引入jQuery的easing缓动插件,默认可以省略就行了。...true 是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条 scrollOverflow 布尔值 false 内容超过满屏后是否显示滚动条 css3 布尔值 false 是否使用...配合animate.css的问题,animate的动画添加上animated样式和具体的动画类型才会具有动画效果。如果一开始全设置好了那么只有第一屏有动画效果,不是我们想要的结果。...动画样式类可以提前记录在一个数组中或者是放到动画元素的自定义属性中。

    6.6K90

    十三、jQuery过时的今天,你还会使用它吗

    1 使用jQuery对象时,我们这样写: // 声明一个jQuery对象 $('.target') // 获取元素的css属性 $('.target').css('width') // 获取元素的位置信息...var elem, selector; elem = document.querySelector(selector); this[0] = elem;...中利用上面实现的扩展机制,添加了许多方法,其中 // 直接添加在构造函数上,被称为工具方法 jQuery.extend({ isFunction: function () { },...2 对象封装分析 在上面的实现中,首先在jQuery构造函数里声明了一个fn属性,并将其指向了原型jQuery.prototype。然后在原型中添加了init方法。...在实际开发中,我们运用得非常多的一个工具库就是lodash.js,大家如果时间充裕一定要去学习一下他的使用。 $.ajax() $.isFunction() $.each() ... ...

    1.7K20

    面试题 | 获取元素的最终background-color

    内联样式 内联样式可以通过元素的style属性获取,如果style属性有background-color值,则可以直接获取出来 (暂不考虑!important) 。 2....作用是将连字符类的css属性值,转换成驼峰写法。 例如:将background-color转换为backgroundColor 4.3 获取特定元素的计算样式 做到这一步,第一个考察点基本就满足了。...4.4 排除特殊情况 4.5 获取div在页面最终显示的颜色 获取样式值采用递归方式处理。 如果能顺利获取到元素样式,且不触发4.4 排除特殊情况中的一种,则直接返回结果。...触发了特殊情况,则需要查找父节点以及更上层的节点的样式,来获取肉眼能看到,显示在页面上的background-color值。 在向上回溯的过程中,如果已经回溯到html根节点,则可以停止回溯。...这里提醒一下~ 5.2 大boss 父节点及根节点设置了不可见css属性 只要设置该css语句:html {display:none;},页面所有元素立刻消失不见。

    59330
    领券