Javascript 根据父标题更改html页面(位于iframe内部)中div的类
在我的站点中,我在iframe中构建了一个文本菜单,名为menu.html。我将每个href放在单独的div中。我希望根据父页面的标题更改其中一个div的类(例如:如果父页面的标题为“home”,则前面提到的div的类更改为“marked”)。我试过下面的脚本,但仍然不起作用。怎么了?再次感谢Javascript 根据父标题更改html页面(位于iframe内部)中div的类,javascript,html,Javascript,Html,在我的站点中,我在iframe中构建了一个文本菜单,名为menu.html。我将每个href放在单独的div中。我希望根据父页面的标题更改其中一个div的类(例如:如果父页面的标题为“home”,则前面提到的div的类更改为“marked”)。我试过下面的脚本,但仍然不起作用。怎么了?再次感谢 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> <
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript">
switch (window.parent.document.title) {
case "hoempage":document.getElementById("nada1").className="marked"; break;
case "about": document.getElementById("nada2").className = "marked"; break;
case "jokes": document.getElementById("nada3").className = "marked"; break;
case "freewares": document.getElementById("nada4").className = "marked"; break;
case "links": document.getElementById("nada5").className = "marked"; break;
default: alert("god damn!"); break;
}
</script>
</head>
<body dir="rtl">
<ul class="menu1">
<li><a href="Index.html" target="_parent"><div id="nada1">homepage</div></a></li>
<li><a href="About.html" target="_parent"><div id="nada2">about</div></a> </li>
<li><a href="Jokes.html" target="_parent"><div id="nada3">jokes</div></a></li>
<li><a href="freewares.html" target="_parent"><div id="nada4">freewares</div></a> </li>
<li> <a href="NetGames.html" target="_parent"><div id="nada5">links</div></a> </li>
</ul>
<br /><br /><hr />
<div class="write_mail">if you want to rgister to site updates enter name + email:
<form action="sent.php" method="post" >
<input type="text" name="subscr" /><br />email
<input type="text" name="perosnal"/><br />name
<br />
<input type="submit" name="submit" onclick="alert('good job and thanks!');"/> </form></div>
</body>
</html>
开关(window.parent.document.title){
案例“hoempage”:document.getElementById(“nada1”).className=“marked”中断;
案例“关于”:document.getElementById(“nada2”).className=“已标记”中断;
案例“笑话”:document.getElementById(“nada3”).className=“marked”中断;
case“freewaires”:document.getElementById(“nada4”).className=“marked”中断;
案例“链接”:document.getElementById(“nada5”).className=“已标记”中断;
默认值:警报(“该死的!”);中断;
}
如果您想登录网站更新,请输入姓名+电子邮件:
电子邮件
名称
编辑:我尝试了这些解决方案,但仍然不起作用。以下是父代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>homepage</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body dir="rtl">
<iframe src="menu.html" class="navibar" height="430px" width="50px" scrolling="no" style="border-style:none"></iframe>
<br />
<p class="About">built by zetta the beginner 2012<br />
</p>
</body>
</html>
主页
由zetta the初学者2012建造
html是我在消息开头更新的代码。
再次为您的骚扰感到抱歉:(您忘记在每个
案例之后使用中断;
。请参阅,只要案例
有效,以下命令将被执行,直到被中断
停止:
switch(value){
case c0: f0();
case c1: f1();
case c2: f2();
default: f3();
}
现在,如果value
等于c1
,将执行f1()
。将调用下一个标签(case c2
)而不是f2
,调用的也是f2
和f3
。您需要停止案例的执行:
switch(value){
case c0: f0(); break;
case c1: f1(); break;
case c2: f2(); break;
default: f3(); break; // doesn't really need a break since it is the last
}
虽然一开始这似乎有悖常理,但这是遵循干燥概念的唯一方法:
switch(myletter){
case 'A':
case 'B':
case 'C': alert("Hey, it's either A,B or C"); break;
default: alert("Sorry, I don't know this letter yet :/");
}
有关更多信息,请参见嵌入iframe代码的页面,如下所示:
<html>
<head>
<title>main</title>
<style>
.marked{background:yellow}
</style>
</head>
<body>
<div id="class1">dddddddddddddddd</div><div id="class2">dddddddddddddddd</div>
<iframe src="iframe.htm"></iframe>
</body>
</html>
主要的
.标记为{背景:黄色}
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
iframe页面代码:
<html>
<head>
<title>something</title>
<script type="text/javascript">
switch (window.parent.document.title) {
case "main": window.parent.document.getElementById("class1").className = "marked";break;
case "About": window.parent.document.getElementById("class2").className = "marked";break;
case "Interesting facts":
document.getElementById("class3").className = "marked";break;
default: alert("I failed, sorry! :("); break;
}
</script>
</head>
<body></body>
</html>
某物
开关(window.parent.document.title){
案例“main”:window.parent.document.getElementById(“class1”).className=“marked”中断;
案例“关于”:window.parent.document.getElementById(“class2”).className=“marked”中断;
案例“有趣的事实”:
document.getElementById(“class3”).className=“已标记”中断;
默认值:警报(“我失败了,对不起!:(”);中断;
}
它仍然不执行类更改。标题是否为希伯来语或阿拉伯语(不是英语)有关系吗?页面是否来自同一个域?windows不是对象。键入错误?大小写无中断?同一个域中存在中断,它仍然拒绝工作。建议?