验证使用JavaScript加载CSS
我有两个样式表,一个默认样式和一个圣诞节样式。我希望圣诞节样式在12月加载,默认值在每隔一个月使用 我已经写了下面的代码,实现了我想要的,但是如果我把它放在验证器中,我会得到错误:“DocumentType不允许元素”link“here”。我想知道我怎样才能使这段代码有效验证使用JavaScript加载CSS,javascript,css,validation,xhtml,Javascript,Css,Validation,Xhtml,我有两个样式表,一个默认样式和一个圣诞节样式。我希望圣诞节样式在12月加载,默认值在每隔一个月使用 我已经写了下面的代码,实现了我想要的,但是如果我把它放在验证器中,我会得到错误:“DocumentType不允许元素”link“here”。我想知道我怎样才能使这段代码有效 <head> <script type="text/javascript"> var i = new Date(); var m = i.getMonth();
<head>
<script type="text/javascript">
var i = new Date();
var m = i.getMonth();
if (m==11) {
document.write('<link rel="stylesheet" type="text/css" href="mystyle-christmas.css" />');
} else {
document.write('<link rel="stylesheet" type="text/css" href="mystyle-default.css" />');
}
</script>
</head>
var i=新日期();
var m=i.getMonth();
如果(m==11){
文件。写(“”);
}否则{
文件。写(“”);
}
验证程序出现问题,因为您没有使用CDATA,因此验证程序将解析您的javascript。使用以下方法解决您的问题:
<head>
<script>
//<![CDATA[
// Your code here
// ]]>
</script>
</head>
//
顺便说一句,以下是一个更好的方法:
<head>
<script type="text/javascript">
var i = new Date(),
m = i.getMonth(),
l = document.createElement( 'link' )
l.rel = 'stylesheet'
if ( m === 11 ) {
l.href = 'mystyle-christmas.css'
}
else {
l.href = 'mystyle-default.css'
}
document.getElementsByTagName( 'HEAD' )[ 0 ].appendChild( l )
</script>
</head>
var i=新日期(),
m=i.getMonth(),
l=document.createElement('link')
l、 rel='stylesheet'
如果(m==11){
l、 href='mystyle-christmas.css'
}
否则{
l、 href='mystyle default.css'
}
document.getElementsByTagName('HEAD')[0]。appendChild(l)
更好的方法是将javascript放在外部js文件中。由于您没有使用CDATA,验证程序出现问题,因此验证程序将解析您的javascript。使用以下方法解决您的问题:
<head>
<script>
//<![CDATA[
// Your code here
// ]]>
</script>
</head>
//
顺便说一句,以下是一个更好的方法:
<head>
<script type="text/javascript">
var i = new Date(),
m = i.getMonth(),
l = document.createElement( 'link' )
l.rel = 'stylesheet'
if ( m === 11 ) {
l.href = 'mystyle-christmas.css'
}
else {
l.href = 'mystyle-default.css'
}
document.getElementsByTagName( 'HEAD' )[ 0 ].appendChild( l )
</script>
</head>
var i=新日期(),
m=i.getMonth(),
l=document.createElement('link')
l、 rel='stylesheet'
如果(m==11){
l、 href='mystyle-christmas.css'
}
否则{
l、 href='mystyle default.css'
}
document.getElementsByTagName('HEAD')[0]。appendChild(l)
更好的方法是将javascript放在外部js文件中。尝试创建元素,而不是使用
文档。编写:
var christmas = document.createElement("link");
christmas.setAttribute("rel", "stylesheet");
christmas.setAttribute("type", "text/css");
christmas.setAttribute("href", "mystyle-christmas.css");
document.getElementsByTagName("head")[0].appendChild(christmas)
尝试创建元素,而不是使用文档。编写:
var christmas = document.createElement("link");
christmas.setAttribute("rel", "stylesheet");
christmas.setAttribute("type", "text/css");
christmas.setAttribute("href", "mystyle-christmas.css");
document.getElementsByTagName("head")[0].appendChild(christmas)
您是否只想使用javascript执行此操作?我的意思是,你可以使用任何隐藏的代码,比如C#vb.net或Phpdo,你想只使用javascript吗?我的意思是,你可以使用任何隐藏的代码,比如C#vb.net或PhpI。我同意拥有一个外部js文件将是最好的,这就是我曾经尝试过的方法,一旦我让代码在本地工作,但由于某种原因无法使其工作。关于如何在外部文件中使用我的代码,有什么建议吗?将其放在js文件中,不要在js文件中添加脚本标记。我将现有代码原样放在js文件中,但无法在html中调用它。。对不起,我知道我很笨,我以前没用过JavaScript!别忘了在html文件中添加
。我同意使用外部js文件是最好的,这是我在代码在本地工作后尝试做的,但由于某种原因无法使其工作。关于如何在外部文件中使用我的代码,有什么建议吗?将其放在js文件中,不要在js文件中添加脚本标记。我将现有代码原样放在js文件中,但无法在html中调用它。。对不起,我知道我很笨,我以前没用过JavaScript!不要忘记在html文件中添加
。