CSS/Javascript

2014年3月21日 at 6:54 AM

Javascriptでdocument.writeしたらその行しか吐き出されずに画面が真っ白になる

document.writeを関数の外で記述している場合は、document.writeを埋め込んだ場所に文字列を挿入するような形で出力がなされます。

 

 

 

しかし関数の中でdocument.writeを行うと、document.writeで出力した文字列だけが表示され他のHTML部分などが全部消えた形で表示されます

 

 

 

<p>既存の文章</p>
<input type="button" value="クリック" onclick="Print()">

<script type="text/javascript">
function Print(){
  document.write("javascriptで出力した文字列を表示");
  document.close();
}
</script>

 

 

 

関数を使った際に埋め込みで文字の出力を行う場合は、DOMオブジェクトを操作することで実現するしかありません。つまり<div>で囲んだ部分に動的に文章を表示するやり方です。DOM(Document Object Model、ドキュメントオブジェクトモデル)ではHTMLのタグに関してもオブジェクトとして扱うことが出来ます。

 

 

 

DOm

 

 

 

<SCRIPT Laguage="JavaScript"><!--

function inPrint(){
   var str = "Javascriptで<BR>";
   str += "出力しています。";

   document.getElementById(msg).innerHTML = str;
}
 --></SCRIPT> 
<BODY onLoad="inPrint()"> 
<DIV id="msg"></DIV> 

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



こちらの関連記事もオススメ!