QA@IT

2つのjavascriptの違う点

5565 PV

初歩的な質問ですが、よろしくお願いします。

下記の2つのスクリプトは同じ結果になるはずですが、前者のメッセージ内容(あいうえお)が
半角分だけ右に位置しています。どうしてなのでしょうか。

<p>メッセージ:
    <script type='text/javascript'>
                   document.write("&nbsp;&nbsp;あいうえお");
    </script>
</p>


    <script type='text/javascript'>
                   document.write("<p>");
                   document.write("メッセージ:");
                   document.write("&nbsp;&nbsp;あいうえお");
                   document.write("</p>");
    </script>

回答

下記で同じになると思います。「:」の後の改行のせいですね。

<p>メッセージ:<script type='text/javascript'>
                   document.write("&nbsp;&nbsp;あいうえお");
    </script>
</p>


    <script type='text/javascript'>
                   document.write("<p>");
                   document.write("メッセージ:");
                   document.write("&nbsp;&nbsp;あいうえお");
                   document.write("</p>");
    </script>```
編集 履歴 (0)
  • 回答をありがとうございました。
    この場合、<br>を記述していないにもかかわらず、改行とされるのですね。
    -
  • 「ブラウザ画面上の改行」と「ソースコード上の改行」を混同してはいけません。

    <br>は「ブラウザ画面上の改行」です。
    「ソースコード上の改行」は、「ブラウザ画面上の空白」になります。
    (ソースコード上の連続する空白タブ改行は、ブラウザ上で1つの空白)
    -

連続する改行文字、スペース、タブは、1つのスペースに変換されると思いますが、違いましたか?

編集 履歴 (0)
  • 回答をありがとうございました。
    勉強になりました。
    -

スペース(&nbsp)を削除しても同様に半角ぶん空きましたからそのせいではありませんね。
文字間にスクリプトが記入されていると半角ぶん空く仕様のようですね。

IE,Chromeでした。
下記検証用

    <p>メッセージ:
        <script type='text/javascript'>
            document.write("あいうえお");
        </script>
    </p>

    <p>メッセージ:
        <script type='text/javascript'>
        </script>
        あいうえお
    </p>

    <p>
        <script type='text/javascript'>
            document.write("メッセージ:");
            document.write("あいうえお");
        </script>
        <script type='text/javascript'>
            document.write("メッセージ:");
            document.write("あいうえお");
        </script>
    </p>

    <script type='text/javascript'>
        document.write("<p>");
        document.write("メッセージ:");
        document.write("あいうえお");
        document.write("</p>");
    </script>
編集 履歴 (0)
  • 回答をありがとうございました。
    "<p>メッセージ:"の後に改行してスクリプトが記入すると、半角ぶん空くのですね。
    いろいろ試してみると、いいですね。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。