我有html页面,我想使用颜色切换器更改页面样式。 我尝试通过单击color-list div来将css文件添加到页面。
文件层次结构
index.html
css(folder)
-style2.css
-style3.css
js(folder)
-my.js
我的HTML
<div class="settings-section color-list">
<div class="first"></div>
<div class="second"></div>
</div>
我也尝试使用jQuery
$('.color-list .first').on('click', function(){
$("head").append($("<link rel='stylesheet' href='../colors-css/style2.css' type='text/css' media='screen' />"));
});
$('.color-list .second').on('click', function(){
$("head").append($("<link rel='stylesheet' href='../colors-css/style3.css' type='text/css' media='screen' />"));
});
但它不起作用。我无法将css文件添加到头
答案 0 :(得分:0)
对文件的引用必须从您的html开始,因此您必须使用colors-css/style2.css
代替../colors-css/style2.css
:
$("head").append($("<link rel='stylesheet' href='colors-css/style2.css' type='text/css' media='screen' />"));
答案 1 :(得分:0)
试试这个..
$("<link/>", {
rel: "stylesheet",
type: "text/css",
href: "/styles/style1.css"
}).appendTo("head");
答案 2 :(得分:0)
您可以添加默认链接标记,并在jquery点击事件集中添加相应的href
HTML标记:
<link id="dynamicCSS" rel='stylesheet' href='#' type='text/css' media='screen' />
jQuery代码:
$(document).ready(function(){
var dynCSSk= $("#dynamicCSS");
$('.color-list .first').on('click', function(){
dynCSSk.attr("href","colors-css/style2.css");
});
$('.color-list .second').on('click', function(){
dynCSSk.attr("href","colors-css/style3.css");
});
});
答案 3 :(得分:0)
您可以通过双向解决问题
1) - 使用类
在CSS文件中创建CSS类.list-style{
backbround : red;
}
在你的jQuery写下面:
$(&#39; .color-list .first&#39;)。addClass(&#39; list-style&#39;);
2) - 使用以下查询
$('.color-list .first').css('background','green');
答案 4 :(得分:0)
试试这个希望它会对你有所帮助。
$(document).on(&#34;点击&#34;,&#34; .color-list div&#34;,function(){
var currentCssUrl=$(this).attr('id');
$.ajax({
url : currentCssUrl,
success : function(data){
$("<style></style>").appendTo("head").html(data);
}
});
});
请查看以下截图