Javascript/jquery 根据 url 更改 css

标签 javascript jquery css

我需要创建一个脚本来更改页面的 css,具体取决于用户插入的 url。

例如

如果我使用这个 url:http://mypage.com/ 它显示了这个 css:<link rel="stylesheet" type="text/css" href="cssfolder/style.css">

但是如果我使用这个 url 例如,我需要:http://mypage.com/#color1 (或者您认为可以更好地实现相同目的的另一种 url 格式)

我需要根据 url 为新的 css 更改它并覆盖它,显示如下:<link rel="stylesheet" type="text/css" href="cssfolder/user1.css">

我需要它使用基于url的css,替换css文件名。

如果用户通过这种方式进入网站 http://mypage.com/#color1它将显示 blue.css(将所有内容更改为蓝色,将 Logo 更改为蓝色...),如果输入 http://mypage.com/#red , css 变为red.css,全部显示为红色,但内容完全一样。

有人知道如何做到这一点吗?

最佳答案

这将获取您的哈希值并加载它。如果您要在运行时更改 #,则需要确保删除之前的,但这是假设您只会执行一次。

var hash_var = window.location.hash;
if (hash_var){
    $("<link />").attr({
      rel:"styleheet", 
      type:"text/css",
      href:hash_var.substring(1) + ".css"
    }).appendTo("head");
}

关于Javascript/jquery 根据 url 更改 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24459451/

相关文章:

html - 文本流和 css3 缩放属性

javascript - 当 Controller 中有 watch 时, Angular UT 出现问题

javascript - 是什么导致 jQuery 无法通过其 id 获取 dom?

jquery - 具有负边距的 SlideToggle 无法按预期工作

css - 第 n 个嵌套元素的选择器

html - contain (in background-size) 是如何工作的,或者为什么不在这里工作?

javascript - D3.js - JSON 数据数组将相同的数组元素绑定(bind)到所有内容

javascript - CSS:复选框输入技巧不起作用

javascript - Google map api 未返回范围内的所有地点

javascript - 动画显示内联以阻止更改