简单说 通过JS控制CSS的各种方式(下)
2017-09-06 17:35
387 查看
说明
上次我们说了8种通过JS控制CSS的方式,但这么多方式,应该用哪一种哪?哪一种又更适合我们呢?今天我们来说说这个。解释
我们用过的各种类库或者框架中,经常会使用到JS控制CSS的函数,比如JQuery中的css() 方法。想明白JQuery中的css() 方法的实现原理,看这里
http://www.111cn.net/wy/jquery/97254.htm
今天我们也简单的实现一下这个方法。
//需要两个参数 el,css //el :DOM元素 //css :css规则 字符串类型 function css(el, css) { //el如果是DOM元素,就修改元素的css if (!!(el && el.nodeType == 1)) { //确保第二个参数是字符串类型的css规则 if (typeof css == 'string' && css.indexOf(':') > 0) { //元素有style对象,然后修改style对象的cssText属性 el.style && (el.style.cssText += ';' + css); } //el如果不是DOM,就发出警告,结束方法 } else { console.warn('css方法需要一个参数,这个参数必须是DOM元素'); return; } }
上面写的这个函数,已经实现了我们要的功能了,其中判断是否为DOM元素的那部分还可以继续提出来作为一个单独的方法,其中修改元素css的部分,是通过修改元素的style对象的cssText属性,这种办法修改css的优先级很高,和直接写内联样式一样。
总结
我们用JS控制CSS,我们还是要考虑css优先级的问题,为了能让设置后的css起作用,我们还是选择优先级高的方法比较好。相关文章推荐
- 简单说 通过JS控制CSS的各种方式(下)
- 简单说 通过JS控制CSS的各种方式(上)
- 简单说 通过JS控制CSS的各种方式(上)
- 简单的css js控制table隔行变色
- 简单说 通过CSS实现 文字渐变色 的两种方式
- CodeIgniter通过hook的方式实现简单的权限控制
- 通过JS控制CSS实现连帧动画
- CodeIgniter通过hook的方式实现简单的权限控制
- 简单的css js控制table隔行变色
- 通过JS+CSS实现简单的遮罩层
- tween.js是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。
- **CodeIgniter通过hook的方式实现简单的权限控制
- CI框架中通过hook的方式实现简单的权限控制
- 简单的css js控制table隔行变色
- 简单的css js控制table隔行变色
- CSS控制XML与通过js解析xml然后通过html显示xml中的数据
- 【Html】html通过js打开新窗口或者超链接的各种方式
- JS中style属性控制,如何通过JS给一元素添加CSS相关属性
- JS 动态加载js文件和css文件 同步/异步的两种简单方式