JavaScript动态创建link标签到head里的方法


Posted in Javascript onDecember 22, 2014

本文实例讲述了JavaScript动态创建link标签到head里的方法。分享给大家供大家参考。具体分析如下:

相信有很多做前端的朋友碰到过需要用 JavaScript 动态创建样式表标签——link标签。这里我们就来说说如何在浏览器中动态创建link标签。

使用 jQuery 创建 link 标签

如果你开发中喜欢用jQuery,那么用jQuery在创建link标签应该是这样的:

var cssURL = '/style.css',

    linkTag = $('<link href="' + cssURL + '" rel="stylesheet" type="text/css" media="' + (media || "all") + '" charset="'+ charset || "utf-8" +'" />');

// 请看清楚,是动态将link标签添加到head里   

$($('head')[0]).append(linkTag);

使用原生 JavaScript 创建 link 标签

如果你喜欢纯天然的 JavaScript,就要需要这么写:

var head = document.getElementsByTagName('head')[0],

    cssURL = '/style.css',

    linkTag = document.createElement('link');

 

    linkTag.id = 'dynamic-style';

 linkTag.href = cssURL;

 linkTag.setAttribute('rel','stylesheet');

 linkTag.setAttribute('media','all');

 linkTag.setAttribute('type','text/css');

 

head.appendChild(linkTag);

IE 里特有的方法 createStyleSheet

IE 里特有的方法 createStyleSheet 方法也是很方便。

var head = document.getElementsByTagName('head')[0],

    cssURL = 'themes/BlueNight/style.css',

 // document.createStyleSheet 的同时就已经把link标签添加到了head中了,怎么讲呢,倒是挺方便

    linkTag = document.createStyleSheet(cssURL);

createStyleSheet( [sURL] [, iIndex])方法接受两个参数,sURL就是CSS文件的URL路径。iIndex 为可选参数,指插入的link在页面中stylesheets collection的索引位置,默认是在最后添加新创建的样式。

完整的解决方案

基本上都介绍完了,来看看完整的解决方案吧:

function createLink(cssURL,lnkId,charset,media){ 

var head = $($('head')[0]),

    linkTag = null;

 

 if(!cssURL){

     return false;

 }

 

 linkTag = $('<link href="' + cssURL + '" rel="stylesheet" type="text/css" media="' + (media || "all") + '" charset="'+ charset || "utf-8" +'" />');

  

 head.append(linkTag);

}

function createLink(cssURL,lnkId,charset,media){ 

    var head = document.getElementsByTagName('head')[0],

        linkTag = null;

  

 if(!cssURL){

     return false;

 }

    

 linkTag = document.createElement('link');

 linkTag.setAttribute('id',(lnkId || 'dynamic-style'));

 linkTag.setAttribute('rel','stylesheet');

 linkTag.setAttribute('charset',(charset || 'utf-8'));

 linkTag.setAttribute('media',(media||'all'));

 linkTag.setAttribute('type','text/css');

    linkTag.href = cssURL; 

 

    head.appendChild(linkTag); 

}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
分享10篇优秀的jQuery幻灯片制作教程及应用案例
Apr 16 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
Jul 09 Javascript
页面载入结束自动调用js函数示例
Sep 23 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
vue项目优化之通过keep-alive数据缓存的方法
Dec 11 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 02 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 Javascript
js实现弹窗猜数字游戏
Nov 26 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 #Javascript
原生javaScript实现图片延时加载的方法
Dec 22 #Javascript
使用JavaScript链式编程实现模拟Jquery函数
Dec 21 #Javascript
使用jQuery简单实现模拟浏览器搜索功能
Dec 21 #Javascript
编写简单的jQuery提示插件
Dec 21 #Javascript
不使用ajax实现无刷新提交表单
Dec 21 #Javascript
webapp框架AngularUI的demo改造之路
Dec 21 #Javascript
You might like
php权重计算方法代码分享
2014/01/09 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
javascript设计模式之迭代器模式
2020/01/30 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
Python机器学习之决策树算法
2017/12/22 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python生成器与迭代器详解
2019/01/01 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
母亲节感恩寄语
2014/02/21 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
个性婚礼策划方案
2014/05/17 职场文书
2019年工作总结范文
2019/05/21 职场文书
css样式important规则的正确使用方式
2022/06/10 HTML / CSS