<script >
for(i=0;i<=9;i++)
{
</script>
<input type="button" value="1"/>
<script type="text/javascript">
}
</script>
如果我使用document.write它會打印10次爲什麼只有1次按鈕?在html中沒有documet.write寫html html代碼
<script >
for(i=0;i<=9;i++)
{
</script>
<input type="button" value="1"/>
<script type="text/javascript">
}
</script>
如果我使用document.write它會打印10次爲什麼只有1次按鈕?在html中沒有documet.write寫html html代碼
JavaScript並沒有以同樣的方式做PHP的行爲。無論你在<script>
標籤之間放置什麼,都是一個腳本。
所以你有兩個獨立的腳本: 此:
for(i=0;i<=9;i++)
{
這一個:
}
試想一下,如果你放在這兩個腳本分成兩個獨立的文件,會發生什麼?這是正確的,兩者都會由於語法錯誤而失敗。如果你看看控制檯,你會看到我在說什麼錯誤。
如果要打印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>
這些腳本標記是單獨的腳本。您可以使用第一個中定義的函數或變量,但不能有跨越兩者的for循環。
之間的html也不在腳本中。它看起來像你試圖使用script
標籤,就好像它們是<?php?>
那樣。
替代document.write
,被設置元素的innerHTML的內容或將一個元素增加到所述DOM:
for(i=1;i<10;i++){
var btn = document.createElement("button");
document.body.appendChild(btn);
}
我想添加按鈕10次,如果我會把標籤像這樣在PHP中它將添加按鈕10次,但在JavaScript中我需要把document.write想知道爲什麼 –
是的,我想你是用PHP混淆它。 沒有_why_,JavaScript只是不能這樣工作。 最好的解決方案是將其添加到DOM。 –
嗯現在我明白了..謝謝:)! –
您正在尋找某種服務器端模板的。記住JavaScript在客戶端上運行。
因爲按鈕被放置在一個循環內。 – rhavendc
檢查控制檯是否有錯誤......並從JavaScript的基本知識開始! – Rayon
我想添加按鈕10次,如果我會把這樣的標籤在PHP中它將添加按鈕10次,但在JavaScript中我需要把document.write想知道爲什麼 –