数码资讯
Javascript动态添加样式(内部/嵌入/外部链的规则)
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
添加CSS的方法是内联、嵌入式、外部链和导入。
一)动态介绍样式表文件:
复制代码代码如下所示:
功能Loadlink(URL){
VaR链接= document.createelement(链接);
link.type =文本/ CSS;
link.rel =样式表;
link.href =网址;
VaR的头= document.getelmentsbytagname(头){ 0 };
head.appendchild(链接);
}
B)嵌入式:
复制代码代码如下所示:
功能insertstyles(){
var doc,csscode = { },csstext;
VaR len = arguments.length;
VaR的头,风格,firststyle;
如果(= = 1){
文档=文档;
CssCode.push(参数{ 0 })
}如果(= = 2){
doc =参数{ 0 };
CssCode.push(参数{ 1 });
其他{ }
警报()函数接收最多两个参数!;
}
头= doc.getelementsbytagname(头){ 0 };
风格= head.getelementsbytagname(风格);
如果(styles.length = = 0){
如果(DOC。createstylesheet){ / / IE
doc.createstylesheet();
{其他}
无功tempstyle = doc.createelement(风格);
tempstyle.setattibute(类型
head.appendchild(tempstyle);
}
}
firststyle =款式{ 0 };
csstext = csscode.join(;
如果(!不透明度兼容性
var str = csstext.match( /不透明度:( D D +);/);
如果(STR)!= NULL){
csstext = csstext.replace(STR { 0 },过滤器:α(透明度=+ parefloat(STR { 1 })* 100 +));
}
}
如果(firststyle。样式表){
firststyle.stylesheee.csstext = csstext;
} else if(DOC。getboxobjectfor){
firststyle.innerhtml = csstext;
其他{ }
firststyle.appendchild(doc.createtextnode(csstext));
}
}
c)内联类型:
复制代码代码如下所示:
无功addstyle =功能(ELE,STR){
var = ele.getattribute(风格),风格;
如果(str类型str =字符串){
如果(!s){
ele.style.csstext = str;
其他{ }
如果(S = ={ }对象){ / / / 7 e.getattribute IE6(风格)返回{对象}
S = ele.style.csstext;
}
样式=修剪(s);
对于(var i = 0,len = styles.length;我< len;i++){
无功style_i =装饰(款式{我});
var attr = style_i.split(){ 0 };
如果(str.indexof(ATTR)> 1){
样式{ };
其他{ }
{我} = style_i风格;
}
}
元。风格。csstext = styles.join()+;+ STR;
}
}
}
d)导入类型:
导入索引;
CSS类相关方法的操作:
复制代码代码如下所示:
无功hasclass =功能(ELE,值){
VaR中= / { ,
值++值;
返回(ELE。节点类型= = 1)(+元。类名+)。取代(中,)。IndexOf(值)> 1;
}
var(=)
返回(val.replace /(^ +)|( + $)/ g,);
}
VaR addClass =功能(ELE,值){
var空间= / 的+ /,类名,getClass;
如果(valuetypeof值=字符串){
类名称= value.split(空间);
如果(ele.nodetype = 1){
如果(ele.classname classnames.length = = { 1!)
ele.classname =价值;
其他{ }
getClass = +类名+电子;
对于(var i = 0,len = classnames.length;我< len;i++){
VaR的CNAME =类名{我};
如果(!HasClass(ELE,CNAME)){
getClass = CNAME + ;
}
}
ele.classname =装饰(getClass);
}
}
}
}
VaR removeClass =功能(ELE,值){
VaR中= / { ◎T r } / g,类名,getClass;
如果((valuetypeof值=字符串)| |值= = = undefined){
类名称=(价值| | )Split(空间);
如果(ele.nodetype = 1元。className){
如果(值){查找删除类
getClass =+元。类名+。取代(中); / /空间,为了使不同阶级平等、更换方便的背后
对于(var i = 0,len = classnames.length;我< len;i++){
getClass = getclass.replace(+ +类名{我}
}
元素的类名=装饰(getClass);
}否则不存在删除所有类
ele.classname = ;
}
}
}
}
无功toggleclass =功能(ELE,值){
如果(typeof值=字符串){
如果(hasclass(ELE,值)){
RemoveClass(ELE,值);
其他{ }
AddClass(ELE,值);
}
}
}
一)动态介绍样式表文件:
复制代码代码如下所示:
功能Loadlink(URL){
VaR链接= document.createelement(链接);
link.type =文本/ CSS;
link.rel =样式表;
link.href =网址;
VaR的头= document.getelmentsbytagname(头){ 0 };
head.appendchild(链接);
}
B)嵌入式:
复制代码代码如下所示:
功能insertstyles(){
var doc,csscode = { },csstext;
VaR len = arguments.length;
VaR的头,风格,firststyle;
如果(= = 1){
文档=文档;
CssCode.push(参数{ 0 })
}如果(= = 2){
doc =参数{ 0 };
CssCode.push(参数{ 1 });
其他{ }
警报()函数接收最多两个参数!;
}
头= doc.getelementsbytagname(头){ 0 };
风格= head.getelementsbytagname(风格);
如果(styles.length = = 0){
如果(DOC。createstylesheet){ / / IE
doc.createstylesheet();
{其他}
无功tempstyle = doc.createelement(风格);
tempstyle.setattibute(类型
head.appendchild(tempstyle);
}
}
firststyle =款式{ 0 };
csstext = csscode.join(;
如果(!不透明度兼容性
var str = csstext.match( /不透明度:( D D +);/);
如果(STR)!= NULL){
csstext = csstext.replace(STR { 0 },过滤器:α(透明度=+ parefloat(STR { 1 })* 100 +));
}
}
如果(firststyle。样式表){
firststyle.stylesheee.csstext = csstext;
} else if(DOC。getboxobjectfor){
firststyle.innerhtml = csstext;
其他{ }
firststyle.appendchild(doc.createtextnode(csstext));
}
}
c)内联类型:
复制代码代码如下所示:
无功addstyle =功能(ELE,STR){
var = ele.getattribute(风格),风格;
如果(str类型str =字符串){
如果(!s){
ele.style.csstext = str;
其他{ }
如果(S = ={ }对象){ / / / 7 e.getattribute IE6(风格)返回{对象}
S = ele.style.csstext;
}
样式=修剪(s);
对于(var i = 0,len = styles.length;我< len;i++){
无功style_i =装饰(款式{我});
var attr = style_i.split(){ 0 };
如果(str.indexof(ATTR)> 1){
样式{ };
其他{ }
{我} = style_i风格;
}
}
元。风格。csstext = styles.join()+;+ STR;
}
}
}
d)导入类型:
导入索引;
CSS类相关方法的操作:
复制代码代码如下所示:
无功hasclass =功能(ELE,值){
VaR中= / { ,
值++值;
返回(ELE。节点类型= = 1)(+元。类名+)。取代(中,)。IndexOf(值)> 1;
}
var(=)
返回(val.replace /(^ +)|( + $)/ g,);
}
VaR addClass =功能(ELE,值){
var空间= / 的+ /,类名,getClass;
如果(valuetypeof值=字符串){
类名称= value.split(空间);
如果(ele.nodetype = 1){
如果(ele.classname classnames.length = = { 1!)
ele.classname =价值;
其他{ }
getClass = +类名+电子;
对于(var i = 0,len = classnames.length;我< len;i++){
VaR的CNAME =类名{我};
如果(!HasClass(ELE,CNAME)){
getClass = CNAME + ;
}
}
ele.classname =装饰(getClass);
}
}
}
}
VaR removeClass =功能(ELE,值){
VaR中= / { ◎T r } / g,类名,getClass;
如果((valuetypeof值=字符串)| |值= = = undefined){
类名称=(价值| | )Split(空间);
如果(ele.nodetype = 1元。className){
如果(值){查找删除类
getClass =+元。类名+。取代(中); / /空间,为了使不同阶级平等、更换方便的背后
对于(var i = 0,len = classnames.length;我< len;i++){
getClass = getclass.replace(+ +类名{我}
}
元素的类名=装饰(getClass);
}否则不存在删除所有类
ele.classname = ;
}
}
}
}
无功toggleclass =功能(ELE,值){
如果(typeof值=字符串){
如果(hasclass(ELE,值)){
RemoveClass(ELE,值);
其他{ }
AddClass(ELE,值);
}
}
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。