jquery - Jquery不会在更改时加载所有css文件
问题描述
我有多个品牌 css 文件,每个都有不同的颜色。我还有一台带有这些品牌选项的收音机。我想要的是,当我更改收音机中的值时,加载特定的 css 文件并删除最后一个。问题是只有第一次加载的 css 显示类,当我更改为第二个选项时,类不加载。
我尝试了两种不同的方法,但没有成功:
$(document).on('change', 'input:radio[name="category"]', function() {
var $selected = $('input[name=category]:checked').val();
$('link[title]').remove();
if ( $(this).val() == $selected ) {
$('head').prepend('<link rel="stylesheet" href="css/branding/' + $selected + '.css" type="text/css" media="all" title= "' + $selected + '" />');
}
});
还有版本2:
$(document).on('change', 'input:radio[name="category"]', function() {
var $selected = $('input[name=category]:checked').val();
$('link[title]').remove();
if ( $(this).val() == $selected ) {
function showmd( value ) {
$( 'head' ).prepend('<link rel="stylesheet" href="css/branding/' + $selected + '.css" type="text/css" media="all" title= "' + $selected + '" />');
}
$.get( $selected, function( data ) {
showmd( data );
}, 'text');
}
});
始终,附加的第二个 css 文件不显示类。任何帮助将不胜感激,谢谢
解决方案
,看起来您只是在添加一个新的样式表,您是否还需要删除之前添加的其他样式表?我看到您删除了所有带有标题的样式表......但是为什么任何样式表都需要标题属性?
我的建议是向要切换的样式表添加一个类或一个 ID,然后更改那些特定的属性值。
因此,如果这是在文档头中:
<link id="branding-stylesheet" rel="stylesheet" href="css/branding/example.css" type="text/css" media="all" />
var $brandingStylesheet = $("#branding-stylesheet");
var $radios = $('input:radio[name="category"]');
$(document).on('change', $radios, function() {
var val= $radios.filter(':checked').val();
if (this.value === val) {
$brandingStylesheet.attr('href', "css/branding/" + val + ".css")
}
});
此外,有时它可能是浏览器缓存问题,如果是这样,您可能希望在 URL 的末尾添加一个查询字符串来帮助解决这个问题。
.attr('href', "css/branding/" + val + ".css?cachebreaker=" + Date.now())
推荐阅读
- google-cloud-platform - Google Cloud Speaker Diarization 不适用于某些文件
- vb.net - 从字典中删除时的 Vb.net ArgumentNullException
- android - Flutter - 如何解决 iOS 和 Android 之间的这种差异?
- javascript - “{}”类型中缺少属性“profileStore”,但在“只读”类型中是必需的
'.ts(2741) - php - 如何从数据库中获取数据到 Laravel 中的多个视图?
- c - 警告:赋值从指针中生成整数,而无需在 shellsort 算法中进行强制转换
- c# - 迭代期间无法获得单独的引用
- java - HTTP 404 源服务器没有找到目标资源的当前表示或不愿意透露存在
- java - 如果 url 返回错误,则转发到其他 www。这个怎么写?
- swift - 使用 @dynamicMemberLookup 访问 AnyCodable 值