JavaScript样式表切换器不起作用? [英] JavaScript stylesheet switcher not working?
本文介绍了JavaScript样式表切换器不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
因此,我尝试在页面上使用样式表切换器选项,用户可以在其中单击单选按钮,它会更改正在应用的样式表,但不适用于我.
So I'm trying to have a stylesheet switcher option on my page, where the user can click a radio button and it changes which stylesheet is being applied, but it's not working for me.
这是我的头标签中的内容:
Here's what's in my head tag:
<link href="stylesheet.css" type="text/css" rel="stylesheet" title="main">
<link href="stylesheet2.css" type="text/css" rel="alternate stylesheet" title="alt1">
<link href="stylesheet3.css" type="text/css" rel="alternate stylesheet" title="alt2">
<script language="javascript">
function setActiveStyleSheet(title) {
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
</script>
这是实际的广播形式:
<p><input type="radio" name="look" onClick="setActiveStyleSheet('main')" checked> Light & dark blue</p>
<p><input type="radio" name="look" onClick="setActiveStyleSheet('alt1')"> Black & white</p>
<p><input type="radio" name="look" onClick="setActiveStyleSheet('alt2')">Yellow & red</p>
有人介意告诉我我做错了什么吗?谢谢!
Anyone mind telling me what I'm doing wrong? Thank you!
推荐答案
变量a
是元素数组,您应该按索引(即a[i]
)而不是直接访问其元素.应该是i < a.length
.
variable a
is array of elements, you should access its elemnts by index (ie. a[i]
) and not directly.also, the for loop condition should be i < a.length
.
function setActiveStyleSheet(title) {
var i, a, main;
a = document.getElementsByTagName("link");
for(i=0; i< a.length ; i++) {
if(a[i].getAttribute("rel").indexOf("style") != -1
&& a[i].getAttribute("title")) {
a[i].disabled = true;
if(a[i].getAttribute("title") == title) a[i].disabled = false;
}
}
}
这篇关于JavaScript样式表切换器不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文