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 相关文章推荐
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 Javascript
PHP开发者必须掌握的6个关键字
Apr 14 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
JavaScript事件学习小结(一)事件流
Jun 09 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
Jun 26 Javascript
Vue.js在使用中的一些注意知识点
Apr 29 Javascript
基于webpack 实用配置方法总结
Sep 28 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
May 20 Javascript
使用vue-router在Vue页面之间传递数据的方法
Jul 15 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 获得汉字拼音首字母的函数
2009/08/01 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
python装饰器初探(推荐)
2016/07/21 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
Python request使用方法及问题总结
2020/04/26 Python
python爬取天气数据的实例详解
2020/11/20 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
音乐教学随笔感言
2014/02/19 职场文书
班训口号大全
2014/06/18 职场文书
公司年底活动方案
2014/08/17 职场文书
投资合作意向书范本
2015/05/08 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
素质拓展训练感想
2015/08/07 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书