在switch语句中使用getElementByID.innerHTML?

时间:2013-04-12 00:53:46

标签: javascript html5 switch-statement innerhtml getelementbyid

好吧,首先关闭,总新手在这里,所以我的问题答案可能很简单,因为我错过了一些关键的东西。

我正在尝试使用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>

2 个答案:

答案 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!";