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 相关文章推荐
用jquery ajax获取网站Alexa排名的代码
Dec 12 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
Js操作树节点自动折叠展开的几种方法
May 05 Javascript
javascript实现回到顶部特效
May 06 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
微信小程序实战之轮播图(3)
Apr 17 Javascript
Angular2实现组件交互的方法分析
Dec 19 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
May 07 Javascript
JavaScript eval()函数定义及使用方法详解
Jul 07 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 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中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
js表单登陆验证示例
2016/10/19 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
vue的mixins属性详解
2018/03/14 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
Python生成随机MAC地址
2015/03/10 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
wxPython实现分隔窗口
2019/11/19 Python
Pytorch之Variable的用法
2019/12/31 Python
Django操作session 的方法
2020/03/09 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
卖房协议书样本
2014/10/30 职场文书
辅导员学期工作总结
2015/08/14 职场文书