位置: 编程技术 - 正文

Javascript动态引用CSS文件的2种方法介绍(js动态引入css文件)

编辑:rootadmin

最近做一个项目,需要javascript动态插入样式,结果以前的方法失效了!查了2个小时的原因竟然是自己手贱,这个最后再说!

javascript插入样式在前端开发中应用比较广泛,特别是在修改前端表现和页面换肤的时候。最近做的这个任务是用户在别人的站点上点击一个按钮,就会在别的站点页面下插入一个脚本,执行,这其中包含了样式的插入。

一般情况下javascript动态插入样式有两种,一种页面中引入外部样式,在<head>中使用<link>标签引入一个外部样式文件,另一种是在页面中使用<style>标签插入页面样式(这里说的不是style属性)。

一、页面中引入外部样式:

在<head>中使用<link>标签引入一个外部样式文件,这个比较简单,各个主流浏览器也不存在兼容性问题:

但是在我目前做的这个项目中本身应用的样式非常少,直接用引入一个外部样式文件似乎不合适,所以我选择了第二种方案,在页面中使用<style>标签插入页面样式。

二、使用<style>标签插入页面样式:

这种方式在各个主流浏览器存在兼容性问题,像firefox等标准浏览器无法直接获取设置styleSheet的cssText值,标准浏览器下只能使用document.styleSheets[0].cssRules[0].cssText单个获取样式;同时使用:document.styleSheets[0].cssRules[0].cssText=newcssText;页面不会自动更新样式,必须使用:document.styleSheets[0].cssRules[0].style.cssText=newcssText;这点似乎没坑爹的IE来的人性化和简便。YUI中使用了一个很好的办法:style.appendChild(document.createTextNode(styles));采用createTextNode将样式字符串添加到<style>标签内;

这样页面中的元素就能直接应用样式了,不管你的这些元素是不是通过脚本追加的。

关于手贱:

看这段代码:

前面说了这个项目是用户在别人的站点上点击一个按钮,就会在别的站点页面下插入一个脚本,执行,这其中包含了样式的插入,我为了尽可能的保证我创建的元素ID唯一性,手贱在元素ID前加了“__”,表示私有防止冲突。结果悲剧了,IE6,IE7 class和id的命名不能以下划线开头(“_”),竟然把这个给忘了!花了两个小时才找到原因。悲剧啊!得出一个结论!做前端千万不能手贱!

推荐整理分享Javascript动态引用CSS文件的2种方法介绍(js动态引入css文件),希望有所帮助,仅作参考,欢迎阅读内容。

Javascript动态引用CSS文件的2种方法介绍(js动态引入css文件)

文章相关热门搜索词:js动态引入js,jsp动态引入和静态引入区别,jsp动态引入,js动态引入css,js动态调用方法,js动态调用方法,js动态调用方法,js动态引入css,内容如对您有帮助,希望把文章链接给更多的朋友!

js中的caller和callee属性介绍和例子 一、caller返回一个对函数的引用,该函数调用了当前函数。functionName.callerfunctionName对象是所执行函数的名称。说明对于函数来说,caller属性只有在函数

ECMAScript6的新特性箭头函数(Arrow Function)详细介绍 箭头函数是ECMAScript6最受关注的更新内容之一。它引入了一种用「箭头」(=)来定义函数的新语法,它…它碉堡了~。箭头函数与传统的JavaScript函数主要

javascript浏览器兼容教程之事件处理 1.window.event【分析说明】先看一段代码functionet(){alert(event);//IE:[object]}以上代码在IE运行的结果是[object],而在Firefox无法运行。因为在IE中event作为window对

标签: js动态引入css文件

本文链接地址:https://www.jiuchutong.com/biancheng/370156.html 转载请保留说明!

上一篇:Javascript中的delete操作符详细介绍(JavaScript中的数据类型分为两大类)

下一篇:js中的caller和callee属性介绍和例子(js call.call)

  • 利润是非限定净现值吗
  • 建筑工程公司收入成本怎么结转
  • 购进库存商品到销售全部分录
  • 行政单位要考什么
  • 外商投资企业清算报告
  • 没有土地使用证可以过户吗
  • 顾客办理会员卡要退怎么办
  • 工程施工购买的标示牌怎么开票给甲方
  • 施工企业仪器设备入什么会计科目核算?
  • 美金公户打入个人账户
  • 工程类一般纳税人可以开3%的税率吗
  • 滞留票是什么意思
  • 接收虚开增值税专用发票要判刑吗
  • 不需要抵扣的怎么直接进费用
  • 利润表其他综合收益的税后净额怎么算
  • 新个税过了申报期怎么办
  • 直接快递到国外的货物如何收汇?
  • 公司奖励员工旅游怎么做账
  • 利用退休人员避孕措施
  • 库存商品的进项可以抵扣吗
  • MAC系统如何卸载重装安装W7系统
  • macos的复制粘贴快捷键
  • win7系统输入法切换快捷键
  • 主板故障开机断电
  • mac系统屏幕
  • mac环境搭建
  • 工程机械设备租赁价格
  • kb4586853更新
  • 在建工程完工后结转会计分录
  • 鸿蒙怎么设置默认系统
  • onekey.exe是什么
  • 公司支付保洁费可以付给个人吗
  • vue中数字运算
  • vue.js前端
  • phpbug
  • idea可以编写vue吗
  • 一觉醒后浑身酸痛
  • 电脑找不到应用程序的图标怎么删除
  • 存货盘点调整表怎么做分录
  • MVC架构模式
  • 财务费用的增加记在哪一方
  • 海关缴款书能重开吗
  • 其他应收款如何计提减值准备
  • 企业预收账款缴纳个税吗
  • 退还押金的会计分录怎么写
  • 公司没有车油费可以报销吗
  • 股权变更的股东个税缴纳
  • 处置固定资产净收益属于利得吗
  • 装修费摊销会计准则
  • 哪些固定资产不需要计提折旧
  • 出差补助没票怎么做账
  • 计提社保公积金的账务处理
  • 低值易耗品和物料用品的区别
  • 支付金额和实付金额的区别
  • 客户要扣货款太多怎么处理
  • 汽车4s店有哪些功能
  • 买公司的钱计入什么科目
  • 备查账包括哪些
  • sql报错22018
  • 详解标准mysql(x64) Windows版安装过程
  • 高危补丁该不该修补
  • linux安装vmvare
  • linux安装视频教程
  • win10系统怎么设置电脑密码
  • win10屏幕图片
  • 五步轻松实现zTree的使用
  • opengl纹理贴图正方体六个面
  • perl -i -pe
  • cocos2dx-3.0(23) ScrollView 缩放 及 touch新用法
  • dos命令 for
  • python基本入门
  • 基于javascript的毕业设计
  • css调查问卷
  • 如何设置python
  • python的了解
  • 小微企业企业所得税是多少?
  • 收到税务局发的多条宣传短信
  • 地税怎么收费标准
  • 增值税专用发票和普通发票的区别
  • 地税注销需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设