你的位置:首页 > 软件开发 > Java > [javascript][翻译]使用javascript添加css rule

[javascript][翻译]使用javascript添加css rule

发布时间:2015-05-25 12:00:18
来杭一周,收获很多,成长很多。  周六在搞一个插件的时候碰到需要动态添加伪元素的需求,搜了一下解决方案,有人用正则写出了读取伪元素的函数;我觉得倒是可以通过注入css rule的方式,来让预留有某些类的标签动态产生伪元素。  然后在google上搜到这样一篇文章,讲了一下之前没了 ...

  来杭一周,收获很多,成长很多。

  周六在搞一个插件的时候碰到需要动态添加伪元素的需求,搜了一下解决方案,有人用正则写出了读取伪元素的函数;我觉得倒是可以通过注入css rule的方式,来让预留有某些类的标签动态产生伪元素。

  然后在google上搜到这样一篇文章,讲了一下之前没了解到的api函数:addrule等,翻译一下,分享一下好了。

  原博文网址:http://davidwalsh.name/add-rules-stylesheets

 

译文如下:

 

  因为我们在开发中javascript使用的越来越多,所以我们总是想尽办法想让它更快。我们使用事件代理来监听事件,使用函数节流来限制单位时间内函数的调用次数,使用loader方法来加载最需要的资源。这些方法都可以让我们的页面加载、渲染、执行的速度有一定的加快。本文要说另一种方法:通过动态添加删除CSS样式代替原有的查找节点并修改来应用某些样式。

  • 获取样式表 

  我们可以选择向页面内的某条stylesheet中添加样式。可以给<link>标签或者<style>标签添加ID,通过引用节点的sheet属性来获取CSSStyleSheet对象。页面中的stylesheets可以使用document.styleSheets来获取:

var sheets = document.styleSheets; // returns an Array-like StyleSheetList//返回一个类数组对象/*Returns: StyleSheetList {0: CSSStyleSheet, 1: CSSStyleSheet, 2: CSSStyleSheet, 3: CSSStyleSheet, 4: CSSStyleSheet, 5: CSSStyleSheet, 6: CSSStyleSheet, 7: CSSStyleSheet, 8: CSSStyleSheet, 9: CSSStyleSheet, 10: CSSStyleSheet, 11: CSSStyleSheet, 12: CSSStyleSheet, 13: CSSStyleSheet, 14: CSSStyleSheet, 15: CSSStyleSheet, length: 16, item: function}*/// Grab the first sheet, regardless of media//先不管第一个样式的具体应用media(注:可能是print等)var sheet = document.styleSheets[0];

原标题:[javascript][翻译]使用javascript添加css rule

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。