JavaScript动态建立或增加CSS样式表,参考如下:
1、简单的方法:
document.createStyleSheet().cssText = '标签{color:red' +// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'width:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:
if (!document.styleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加var ss = document.createStyleSheet()
ss.owningElement.id = '要建立的样式表ID如theforever'
ss.cssText = '标签{display:inline-blockoverflow:hidden' +
// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'text-align:leftwidth:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
}
1,首先把写好的css样式表内容存为*.css格式。如style.css2,在页面中引入这个css样式文件。用如下的方式引入。此处的href=”./css/style.css”指的是css文件存放的路径。‘.’请示当前目录(就是与引入css文件的jsp页面在同一目录)方法一,在调用文件的顶部加入下例代码:
document.write(”<script language=javascript src=’/js/import.js’></script>”)(注:有时你引用的文件还可能需要引用其他的js,我们需要将需要的那个js文件也以同样的方法引用进来)
方法二,通过中间界面对js进行应用
就是我们可以在某个html中引用了你需要的js文件,我们可以通过拿到那个html文件的对象,然后在通过这个对象去引用js的方法。
(一般不常用)
方法三:在将下边代码放入Body中:
new_element=document.createElement(”script”)new_element.setAttribute(”type”,”text/javascript”)
new_element.setAttribute(”src”,”import.js”)
document.body.appendChild(new_element)
我们来分析一下关键的几句代码:
首先,我们利用document.createElement(”script”)生成了一个script的标签,设置其 type属性为text/javascript,src为import.js(这里的1.js同2.js放在同一个目录,也可放在不同的目录)。最后将这个标签动态 地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。
注意:<script language=”JAVASCRIPT” src=’1.js’></script>一定要放在body下面。
因为在2.js中用到了body(document.body.appendChild(new_element))
如果将引如2.js的代码放在body上面,也就是说,
进入页面后,还没有生成body就已经执行b.js里的document.body.appendChild(new_element)了。
这时body不存在就会抛JavaScript错误。