用javascript在头中注入CSS代码动态地编辑CSS是否很好?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用javascript在头中注入CSS代码动态地编辑CSS是否很好?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含873字,纯文字阅读大概需要2分钟。
内容图文
![用javascript在头中注入CSS代码动态地编辑CSS是否很好?](/upload/InfoBanner/zyjiaocheng/678/be62acfcd8d74d718d2cb387cb4b5af2.jpg)
为了永久设置/更改某些属性,它是“合法的”并且可以在跨浏览器中正常工作吗?
例如(使用jQuery):
$('head').append('<style>.myclass { background: #f00;}</style>');
我已经在Safari 7中尝试过并且可以使用.
可以跨浏览器浏览还是可以避免的黑客?
有什么缺点吗?
解决方法:
是的,这是合法的-它将比$(“.myclass”).css({background:“#FF0”})更快,因为您仅与DOM交互一次,而不是N次(其中N是.myclass元素.)此外,它将自动应用于将来的.myclass元素.
缺点是您会遇到特殊性问题,因此必须确保以某种方式构造CSS,以确保可以使用单个类选择器覆盖背景. (jQuery的css函数由于直接设置元素的style属性,因此默认情况下具有某些最高的特异性,因此避免了此特定问题).
例如,如果您的链接样式中的某个地方有此CSS:
#some-id .myclass { background: #000; }
那么使用DOM繁重的$(“.myclass”).css会覆盖背景,而动态注入样式(仅注入.myclass {background:#FF0;}不会).
另一个缺点是,旧版IE(< = 8)仅允许您创建31个“动态”样式表.在IE> = 9中,这不是问题.
内容总结
以上是互联网集市为您收集整理的用javascript在头中注入CSS代码动态地编辑CSS是否很好?全部内容,希望文章能够帮你解决用javascript在头中注入CSS代码动态地编辑CSS是否很好?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。