0

私はこれを1つのサイトで機能させ、再作成しようとしましたが、今は機能していません... JavaScriptを介してコンテンツを置き換えることにより、ロードせずにdivのコンテンツを変更したいと考えています。

HTMLは次のとおりです。

<li><a onclick="mish()">Click me</a></li>

<div id="about">
  <h2>Im a header.</h2>
  <p>And Im a paragraph!</p>
</div>

外部の .js ファイルにある JS は次のとおりです。

function mish()
{
document.getElementById("about").innerHTML='<h2>Header am I.</h2>
<p>Paragraph am I and too.</p>';
}

そして、それらはhtmlのヘッドにある次の行にリンクされています(ボディでも試しました):

<script type="text/javascript" src="script.js"></script>

繰り返しますが、私が行った別のサイトからほとんどすべてのコードをコピーしましたが、それはまだ機能しているので、なぜこれが機能しないのかについて非常に困惑しています.

編集:ここにヘッドセクションがあります:

<head>
    <title>Shaq</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script type="text/javascript" src="script.js"></script>
</head>

ダブル編集: と全身:

<body>

<div class="crusty">

    <div class="content">

        <nav>   
            <ul>
                <li><a onclick="bout()">Click Me</a></li>
                <li><a onclick="mish()">Click Me</a></li>
            </ul>
        </nav>

        <div class="actual">

            <div id="about">
            <h2>Im a Header</h2>
            <p>And Im a Paragraph</p>
            </div>

        </div><!-- end actual -->

    </div><!-- end content-->

</div><!-- end crusty -->

</body>

そして、.js ファイルの正確な内容を表示するための 3 つの編集:

function mish() {
    document.getElementById("about").innerHTML = '<h2>Header am I.</h2>'+ '<p>Paragraph am I and too.</p>';
}
4

2 に答える 2

1

JavaScript で複数行の文字列を記述する一般的な方法は次のとおりです。現在、文字列内に (エスケープされていない) 改行がありますが、これは JavaScript では許可されていません。

function mish() {
    document.getElementById("about").innerHTML = [
        '<h2>Header am I.</h2>',
        '<p>Paragraph am I and too.</p>'].join('\n');
}

\n主なポイントは、JavaScript 文字列のように改行を伝達できることです。

于 2013-07-18T02:16:08.170 に答える
1

完全な HTML を表示せずにコードの断片を投稿しました。これはあなたがそれを行うべき方法であるため、このコードを使用してみてください。

<html>
<head>
<script type="text/javascript">
   function mish() {
      document.getElementById("about").innerHTML = '<h2>Header am I.</h2><p>Paragraph am I and too.</p>';
    }
</script>
</head>
<body>
    <li><a onclick="javascript:mish();">Click me</a>
    </li>
    <div id="about">
         <h2>Im a header.</h2>    
         <p>And Im a paragraph!</p>
    </div>
</body>
</html>

これはうまくいくはずです。あなたが違うことをしていることを確認してください。

JS に外部ファイルを使用している場合は、次のコードを JS ファイルにコピーします。

   function mish() {
      document.getElementById("about").innerHTML = '<h2>Header am I.</h2><p>Paragraph am I and too.</p>';
    }

<Script></script>タグ内にラップしないようにしてください。これは必要ありません。そして、この JS ファイルを HTML ファイルがある場所に正確に保存します。

最後に、これを head セクションに含めます。

<script type="text/javascript" src="script.js"></script>

そして、これはうまくいかなければなりません。

于 2013-07-18T02:28:27.303 に答える