0

よし、まず始めに、完全な初心者です。重要なことを見逃しているため、私の質問への回答は非常に単純かもしれません。

switch ステートメントを作成しようとしています。h1 タグの innerHTML を id="bbref" で切り替えます。userName 変数を「Lister」に設定し、switch ステートメントを作成して、userName に入力された名前に基づいて h1 タグ ベースに別の行を書き込みました。

なんらかの理由で、しかし、私のコードはちょうど動作していません.何か考え..または私の側に顕著な脳のおならはありますか?

コードは次のとおりです。

    <!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>
4

2 に答える 2

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/$(ドキュメント).ready()

ここで発生するもう 1 つの問題は、HTML がレンダリングされる前に JavaScript コードが実行されることです。window.onloadコードをor $(document).ready()(jQuery を使用している場合) にバインドして、ページの読み込み後にコードを実行します。

window.onload 例:
https://developer.mozilla.org/en-US/docs/DOM/window.onload

jQuery の $(document).ready():
http://api.jquery.com/ready/

フィドル (window.onload を使用):
http://jsfiddle.net/H4hzE/1/


あなたは JavaScript に不慣れだと言っているので、JavaScriptdocument.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

于 2013-04-12T00:58:23.477 に答える
1

document.write() と document.getElementById() は 2 つの異なるメソッドです。この場合、getElementById を使用するだけなので、3 つのケースすべてで .write を省略します。例:

document.getElementById("bbref").innerHTML = "Lister Is the Man!";
于 2013-04-12T00:59:34.043 に答える