方法1:
给<style id="css">标签添加一个id名,在<script>标签中写
var oCss=document.getElementById("css");
oCss.innerHTML+="#box{width:200px;}";
这样就可以加上样式了。
方法2:
有时候我们需要利用js来动态生成页面上style标签中的css代码,方法很直接,就是直接创建一个style元素,然后设置style元素里面的css代码,最后把它插入到head元素中。但有些兼容性问题我们需要解决。首先在符合w3c标准的浏览器中我们只需要把要插入的css代码作为一个文本节点插入到style元素中即可,而在IE中则需要利用style元素的styleSheet.cssText来解决。还需要注意的就是在有些版本IE中一个页面上style标签数量是有限制的,如果超过了会报错,需要考虑这点。
下面直接放上代码,看注释说明。
function addCSS(cssText){
var style = document.createElement('style'), //创建一个style元素
head = document.head || document.getElementsByTagName('head')[0]; //获取head元素
style.type = 'text/css'; //这里必须显示设置style元素的type属性为text/css,否则在ie中不起作用
if(style.styleSheet){ //IE
var func = function(){
try{ //防止IE中stylesheet数量超过限制而发生错误
style.styleSheet.cssText = cssText;
}catch(e){
}
}
//如果当前styleSheet还不能用,则放到异步中则行
if(style.styleSheet.disabled){
setTimeout(func,10);
}else{
func();
}
}else{ //w3c
//w3c浏览器中只要创建文本节点插入到style元素中就行了
var textNode = document.createTextNode(cssText);
style.appendChild(textNode);
}
head.appendChild(style); //把创建的style元素插入到head中
}
//使用
addCSS('#demo{ height: 30px; background:#f00;}');
当然这只是一个最基本的演示方法,实际运用中还需进行完善,比如把每次生成的css代码都插入到一个style元素中,这样在IE中就不会发生stylesheet数量超出限制的错误了。
总结:以上方法可以解决很多问题,有什么不懂的找我!
转载于:https://my.oschina.net/u/3341316/blog/856932
分享到:
相关推荐
以下详细介绍两种常见的JavaScript动态生成CSS代码的方法及其兼容性问题的解决方法。 ### 方法一:直接修改已有style元素的内容 该方法涉及对页面上已存在的`<style>`元素进行操作。具体步骤包括:先通过`document...
在现代Web开发中,SVG(Scalable Vector Graphics)和CSS(Cascading Style Sheets)是两种非常重要的技术。SVG用于创建矢量图形,而CSS则用于定义网页的样式和布局。有时候,开发者可能需要在SVG和CSS之间进行转换...
"js与css代码压缩软件"这一主题,主要涉及的是如何通过特定工具来压缩和优化这两种脚本语言的代码,以实现更快的加载速度。 首先,我们需要理解代码压缩的重要性。在网页开发中,每减少一点文件大小都可能带来显著...
总结来说,这个“js+css3随机密码生成器代码”项目展示了如何结合JavaScript和CSS3来创建一个既实用又美观的在线工具。它体现了前端开发中动态交互和视觉设计的重要性,对于学习和实践这两种技术的开发者而言,是一...
`css+js动态生成步骤图`的实现涉及到CSS(层叠样式表)和JavaScript两种核心技术,它们共同作用于浏览器,使得步骤图不仅美观,而且具备动态效果,同时兼容多种浏览器,包括古老的Internet Explorer(IE)以及现代的...
JavaScript 和 CSS 是网页开发中的两种基础技术,它们负责实现页面的动态交互和视觉样式。然而,未经优化的JS和CSS代码会增加页面加载时间,影响用户体验。为了提高网站性能,开发者通常会使用“JS CSS压缩工具”来...
为了提升用户体验并简化操作流程,本文将介绍两种使用JavaScript实现复制功能的方法,并针对每种方法提供详细的代码示例与解析。 #### 二、方法 在本文中,我们将探讨两种实现复制功能的技术方案。尽管这两种方法都...
"CSS+JS自动生成导航栏"的主题旨在利用这两种核心技术来创建动态且具有吸引力的导航菜单。CSS(层叠样式表)用于定义元素的外观和布局,而JavaScript则负责增加交互性和动态效果。 首先,我们要理解CSS在创建导航栏...
这通常通过JavaScript实现,利用`document.execCommand('copy')`方法来完成。jQuery库可能被用来简化DOM操作和事件处理,使得实现这一功能更加便捷。 综合以上信息,我们可以知道这个压缩包中可能包含以下文件: 1...
JavaScript代码自动生成是一种提高开发效率和减少重复劳动的技术,它涉及到编程语言的元编程和自动化工具。在JavaScript中,代码自动生成通常通过模板引擎、代码生成库或构建工具实现,帮助开发者快速创建复杂的代码...
动态生成JS技术就是一种高效的方法,它允许网站管理员灵活地向站点添加各种类型的广告和互动元素,如悬浮广告和弹窗,以吸引用户的注意力并提升用户体验。下面将详细探讨这一技术及其应用。 首先,动态生成JS...
【CSS波浪粒子特效HTML代码】是一种创新的前端开发技术,它将视觉艺术与编程巧妙地结合在一起,为用户带来动态、交互式的网页体验。这种特效主要基于HTML、CSS和JavaScript三大核心技术,其中HTML负责构建网页结构,...
针对这一挑战,业界提出了两种主要的解决方案:一是采用更高级别的开发语言以提高开发效率;二是运用构件化和复用技术来加速开发流程。其中,源代码自动生成技术作为构件化和复用技术的基础,扮演着核心角色。 ####...
在给定的`demo`文件中,可能包含了使用以上某一种或两种方法的示例代码。通过查看和运行这些示例,你可以更好地理解如何在实际项目中应用这些技术。 总的来说,利用JavaScript动态生成二维码图片是一项实用的技能,...
"动态烟花特效,js+css" 是一种利用JavaScript和CSS技术实现的视觉效果,它可以在网页上模拟出炫丽多彩的烟花绽放场景,为用户带来节日般的视觉享受。接下来,我们将详细探讨如何使用这两种技术来创建这样的特效。 ...
2.JS,CSS文件分离器与压缩器,快速将aspx,html(目前支持的两种,其实其它的文件只需要改一下名字就可以了)文件中的javascript与style标签中的内容分离出来,并借用ajaxminifier将其压缩,经测试可以减少约50%的...
在JavaScript编程中,生成99乘法表是一种常见的练习,它可以增强我们对循环、字符串操作以及数组的理解。这个"JS自动生成99乘法表代码"项目,通过输入序列,可以动态地创建并显示乘法表格,同时也支持停止生成,为...
接下来,你可以创建一个THREE.js的场景、相机和渲染器,并使用D3的数据绑定方法来生成3D对象。例如,如果你想创建3D柱状图,可以先使用D3加载和处理数据,然后创建一个THREE.Group作为容器,将每个柱子表示为一个...
互补色方案结合了位于色轮相对位置的两种颜色,如红与绿、蓝与橙;类比色方案则选取相邻的三种颜色,营造和谐的效果。 4. **颜色生成器**:"css配色生成器"这类工具可以帮助设计师自动生成配色方案,有的还能根据...