2016-04-28 8 views
1
<script > 

    for(i=0;i<=9;i++) 
    { 

</script> 

    <input type="button" value="1"/> 

<script type="text/javascript">  

    } 

</script> 

これは、document.writeを使用すると1回のみボタンを表示します。これは10回印刷されますか?JavaScriptをdocumet.writeなしでHTMLを書く

+0

ボタンはループ内に配置されていたため、 – rhavendc

+0

コンソールにエラーがないかチェックしてください。そして、 'JavaScript'の基礎から始めましょう! – Rayon

+0

ボタンを10回追加したいのですが、このようなタグをphpに入れてボタンを10回追加しますがjavascriptに入れたいのですが、document.writeを入れる必要がある理由を知りたい場合 –

答えて

1

で行ってください。 <script>タグの間に置かれているものは、それ自身のスクリプトです。

だから、2つの別々スクリプトがあります。この を:

for(i=0;i<=9;i++) 
{ 

と、この1:

} 

は、次の2つの別々のファイルにこれらの2つのスクリプトを置いたらどうなるか想像してみ?そうです、構文エラーのために両方とも失敗するでしょう。コンソールを見れば、私が何を言っているのか分かります。

あなたは10個のボタンを印刷したい場合は、このような何かを:

<div id="mainDiv"> 

</div> 

<script> 
    var mainDiv = document.getElementById('mainDiv'); 
    for(var i=0; i<10; i++){ 
     mainDiv.innerHtml += "<input type='button' value='1'>"; 
    } 
</script> 
1

これらのスクリプトタグは別々のスクリプトです。最初のもので定義された関数や変数を使用することはできますが、forループを両方にまたがることはできません。

間にあるhtmlもスクリプトに含まれていません。 scriptタグを<?php?>のように使用しようとしているようです。

代替document.writeに、要素のinnerHTMLプロパティの内容を設定しているか、DOMに要素を追加する:あなたは複数にコードブロックを分離することはできませんので

for(i=1;i<10;i++){ 
    var btn = document.createElement("button");  
    document.body.appendChild(btn); 
} 
+0

ボタンを追加したい場合は10回ボタンを追加しますこれはPHPのようにボタンを10回追加するjavascriptで私はdocument.writeを置く必要がある理由を知ってほしい –

+0

はい、私はあなたがPHPと混同していたと思った。 _why_はありません、javascriptはそのように動作しません。 最高の解決策は、DOMに追加することです。 –

+0

今、私は理解しています..ありがとう! –

0

HTMLをPHPとしてテンプレートエンジンではありませんスクリプトタグ。各コードブロックは、完全に<script></script>タグペアに配置する必要があります。

あなたの目的はJavascriptを持つ10個のボタンを生成している場合、JavaScriptはPHPが行うのと同じように動作しませんdocument.writeオプション

+0

__ "document.writeオプションで行ってください" __いいえ... – Rayon

+0

このオプションには他の制限はありますか? – duonglk

+0

多くあります! – Rayon

0

あなたはサーバー側のテンプレートのいくつかの並べ替えを探しています。クライアントでjavascriptが実行されていることを忘れないでください。

関連する問題