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 相关文章推荐
在chrome浏览器中,防止input[text]和textarea在聚焦时出现黄色边框的解决方法
May 24 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
基于wordpress的ajax写法详解
Jan 02 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
layui 监听表格复选框选中值的方法
Aug 15 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
Sep 27 Javascript
JavaScript回调函数callback用法解析
Jan 14 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 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)
2013/06/21 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
php实现分页工具类分享
2014/01/09 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
Python多进程编程技术实例分析
2014/09/16 Python
常见python正则用法的简单实例
2016/06/21 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
python遍历小写英文字母的方法
2019/01/02 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
成功的酒店创业计划书
2013/12/27 职场文书
迟到检讨书500字
2014/02/05 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
MySQL Server层四个日志的实现
2022/03/31 MySQL