web-dev-qa-db-ja.com

Javascriptインライン出力

Javascriptで、次のコードがあるとします。

_<div>
    <script type="text/javascript">var output = 'abcdefg';</script>
</div>
_

outputの内容を_#test_に単純に「エコー」する(PHP用語を使用))方法はありますか?つまり、文字列をインラインで出力する方法はありますか? DOMをトラバースまたは選択する標準的な方法がありませんか?

document.write("...");outputの内容を書き込みますが、そうすることで、ドキュメント全体がoutputに置き換えられます。

私が探しているソリューションは、a PHP echoと同じように動作するはずです:出力をドキュメントにインラインで書き込みます。

11
dclowd9901

「コーシャ」コードはさておき、はい。

document.write()

7
jerluc

使用する必要があります document.write[ドキュメント]

<div id="test">
    <script type="text/javascript">document.write('abcdefg');</script>
</div>  

[〜#〜]デモ[〜#〜]

XHTMLドキュメントでは機能しないという警告があります。詳細については、ドキュメントを参照してください。

11
Felix Kling

標準ベースのブラウザの場合:

document.getElementByID("test").textContent = output;

より広範なサポートのために、jQuery(または選択したライブラリの場合は同等のメソッド)で text を使用できます。

$('#test').text(output);
5

私はこれが古い質問であることを知っていますが、誰かがまだ探しているなら、ここに仕事をする便利な機能があります。

function echo(text)
{
    document.body.appendChild(document.createElement("div")).appendChild(document.createTextNode(text));
}
1

次のように書くことができます:

<div id="test">
  <script>
    document.getElementById('test').innerHTML = "stuff";
    //this line only changes content in the div with id="test", not the whole dom
  </script>
</div>

ただし、スクリプトは上書きされる可能性があるため、div内にスクリプトを配置することは避けてください。

1
Julien Ducro

コードがdivにある場合は、実行時にdocument.write('abcdefg')をインラインで挿入するのが適切です。

または、コードがdiv内にない場合は、次のように実行できます。

<div id="test">
</div>

<script type="text/javascript">
var output = 'abcdefg';
document.getElementById("test").innerHTML = output;
</script>

ページが読み込まれ、divが存在する後に、コードが実行されることを確認する必要があります。

1
jfriend00

console.log()

http://getfirebug.com/logging

chromeおよびie9 ..でサポートされています。互換性のある後方に注意してください。ie8以下になると思います...

0
Kieran