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 相关文章推荐
htm调用JS代码
Mar 15 Javascript
extjs4 treepanel动态改变行高度示例
Dec 17 Javascript
javascript根据像素点取位置示例
Jan 27 Javascript
JavaScript控制按钮可用或不可用的方法
Apr 03 Javascript
JSON简介以及用法汇总
Feb 21 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 Javascript
详解angularJs中关于ng-class的三种使用方式说明
Jun 02 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
Jun 28 Javascript
vue-swiper的使用教程
Aug 30 Javascript
Vue多选列表组件深入详解
Mar 02 Vue.js
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编码规范-php coding standard
2007/03/16 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
学习ExtJS Window常用方法
2009/10/07 Javascript
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
Python中的类学习笔记
2014/09/23 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
对python的文件内注释 help注释方法
2018/05/23 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
django解决跨域请求的问题
2018/11/11 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
手写一个python迭代器过程详解
2019/08/27 Python
Python无损压缩图片的示例代码
2020/08/06 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
会计应聘求职信范文
2013/12/17 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
经典促销广告词大全
2014/03/19 职场文书
国窖1573广告词
2014/03/21 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang