我已经用近3年的时间创建了HTML等网站,但由于我必须自己学习,所以我仍然不会知道一些事情。
现在一个基本问题变得非常重要:我可以在元素中创建组吗?就像这样:
<head>
<meta ... />
<group name='global_stylesheets'>
<link href='...' />
<link href='...' />
</group>
<group>
...
</group>
</head>
如果在普通HTML中无法实现,我可以用javascript以某种方式添加这些组标签吗?我可以禁用旧版本的&#39;样式表并在javascript中加载新的样式:
somelinks = '<link href='...' />\n<link href='...' />';
document.getElementsByTagName('groups')[2].innerHTML = someLinks;
由于
答案 0 :(得分:1)
AFAIK,HTML没有提供将<head>
部分中的元素进行结构排列成组的方法,但您可以使用class
属性将它们放入逻辑组中:
<head>
<link rel="stylesheet" href="style1.css" class="bigtext" />
<link rel="stylesheet" href="style2.css" class="bigtext" />
<link rel="stylesheet" href="style3.css" class="smalltext" />
...
</head>
然后你可以做这样的事情来禁用那些你不需要的东西(为了简洁我使用jQuery,但你可以在没有jQuery的情况下做同样的事情):
$(".bigtext").each(function() {
this.disabled = true;
});
如果由于某种原因您希望使用JavaScript向页面添加新的样式表,则只需创建<link>
元素并将其添加到页面的head
:
function addStylesheet(href) {
var sty = document.createElement("link");
sty.rel = "stylesheet";
sty.href = href;
document.head.appendChild(sty);
}
addStylesheet("style3.css");
addStylesheet("style4.css");
这是jQuery版本:
function addStylesheet(href) {
$(document.head).append($("<link rel='stylesheet'>").attr("href", href));
}
答案 1 :(得分:0)
我认为你的整个方法都是非常错误的。
您应该重新考虑样式表的构建方式。样式表的重点在于它们应该在整个页面中是全局的。您应该使用类和ID来限制它们的样式。
同样,像你一样对样式表进行分组没有意义。