javascript - 关于动态改变<link>标签的href
黄舟
黄舟 2017-04-11 13:04:14
[JavaScript讨论组]

如题,我创建了两个

  • 分别给他们添加了点击事件,在里我添加了id = "changecss",代码如下:

            
    • 首页案例
    • 详情页案例

    但是还是无法改变里的标签里的href的路径,还是会加载原本的css,但新建的css文件里的css也有效果,所以特来向各位求助。。。。

  • 黄舟
    黄舟

    人生最曼妙的风景,竟是内心的淡定与从容!

    全部回复(5)
    怪我咯

    修改href属性确实会触发浏览器加载css,但是这样会带来很多新问题,其他元素css错乱等,不太好维护。比较好的做法是动态添加css
    给你提供个动态加载css的方法。

     var addCss = function(path){
        if(!path || path.length === 0){
            throw new Error('argument "path" is required !');
        }
        var head = document.getElementsByTagName('head')[0];
        var link = document.createElement('link');
        link.href = path;
        link.rel = 'stylesheet';
        link.type = 'text/css';
        head.appendChild(link);
    };

    如果你不想加载css/index.css,一开始就不需要写<link rel="stylesheet" type="text/css" id = "changecss" href="css/index.css">

    黄舟

    要加载的东西已经加载了,你再改变又有什么用呢。要实现你所说的效果,你可以新建一个link,指定href,然后插入。

    迷茫

    路径可以修改,但是html解析的时候是从上到下的,link标签先解析引入css文件,到后面用js再去修改路径,link也不会再去加载了

    PHP中文网

    按照你写的并没有错啊,不对的地方就是onclick不应该有空格

    怪我咯

    百度搜索一下“动态更新CSS”,或者“动态修改CSS”,“动态引入CSS”之类的关键字,可以得到一大堆结果

    顺手给你一个
    http://www.aichengxu.com/view...

    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号