好吧,首先关闭,总新手在这里,所以我的问题答案可能很简单,因为我错过了一些关键的东西。
我正在尝试使用switch语句,使用id =“bbref”切换h1标记的innerHTML。我将userName变量设置为“Lister”并创建了我的switch语句,以便在h1标记库中写入不同的行,而不是为userName输入什么名称。
出于某种原因,但是我的代码只是不起作用......任何想法......或者我的脑袋上有明显的屁?
这是代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Javascript Learning</title>
<script type="text/javascript">
var userName = "Lister";
switch (userName) {
case "Lister" :
document.write.getElementById("bbref").innerHTML = "Lister Is the Man!";
break;
case "Rimmer":
document.write.getElementById("bbref").innerHTML = "Rimmer is a Smeg head...";
break;
default :
doacument.write.getElementById("bbref").innerHTML = "It's all about \"The Cat\""
}
</script>
</head>
<body>
<header></header>
<section>
<article>
<h1 id="bbref">Test Title</h1>
</article>
</section>
<footer></footer>
</body>
</html>
答案 0 :(得分:1)
你在那里弄乱你的功能,改变:
document.write.getElementById("bbref").innerHTML = "Lister Is the Man!";
为:
document.getElementById("bbref").innerHTML = "Lister Is the Man!";
等等。
document.getElementById("bbref")
将获取元素,.innerHTML
将成为元素内的HTML,更改它将直接更改可见的HTML。所以没有必要write
任何东西。
<强>小提琴:强>
http://jsfiddle.net/H4hzE/
<强>的window.onload / $(文件)。就绪()强>
您在此处遇到的另一个问题是您的HTML代码在HTML呈现之前正在执行。将代码绑定到window.onload
或$(document).ready()
(如果使用jQuery)以在页面加载后运行代码。
window.onload示例:
https://developer.mozilla.org/en-US/docs/DOM/window.onload
jQuery的$(文档).ready():
http://api.jquery.com/ready/
小提琴(使用window.onload):
http://jsfiddle.net/H4hzE/1/
既然你说你是JavaScript新手,那么分享一些关于document.write()
的信息可能是值得的,因为我认为你可能会误解它的功能。 :)
http://www.w3schools.com/jsref/met_doc_write.asp
http://javascript.info/tutorial/document-write
https://developer.mozilla.org/en-US/docs/DOM/document.write
答案 1 :(得分:1)
document.write()和document.getElementById()是两种不同的方法。在这种情况下,您只想使用getElementById,因此在所有3种情况下都省略.write,例如:
document.getElementById("bbref").innerHTML = "Lister Is the Man!";