2012-08-01 108 views
0

是否有可能從JavaScript生成html?例如,我有這樣的:是否可以從JavaScript生成HTML?

<script type="text/javascript"> 
    for (i=0; i<=length; i++) 
     { 
     //I want to display a <p> tag containing the value of i 
     } 
    </script> 

所以生成的HTML應該是這個樣子,如果長度= 5:

<p>0</p> 
    <p>1</p> 
    <p>2</p> 
    <p>3</p> 
    <p>4</p> 
    <p>5</p> 

是否有可能做到這一點?

回答

5

很有可能的。您可以將元素插入到DOM中:

var NewP; 
var Text; 

for(var i = 0; i < 5; i++) 
{ 
    NewP = document.createElement("p"); // Create a p element 
    Text = document.createTextNode(i + ""); // Create text to go inside with string value of i 
    NewP.appendChild(Text); // Add text to p element 
    document.body.appendChild(NewP); // Append newly-created p element to body element in DOM tree 
} 
+1

這正是我所需要的!謝謝!!!如果允許我這樣做,我會接受答案。 – areke 2012-08-01 01:59:50

+0

如果我想創建一個鏈接,而不是,我將如何添加? – areke 2012-08-01 02:02:44

+0

.........謝謝 – areke 2012-08-01 02:09:28

1
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
greeting = "<H1>Hi Web surfers!</H1>" 
welcome = "<P>Welcome to <CITE>stackoverflow.com</CITE>.</P>" 
// --> 
</SCRIPT> 
</HEAD> 
<BODY> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
document.write(greeting) 
document.write(welcome) 
// --> 
</SCRIPT> 
-2

你可以在你的HTML,只是在功能上做出<div id="div"></div>

$("#div").html('<p>'+i+'</p>'); 
0

是的。這是可能的。例如:

<script type="text/javascript"> 
    var html = ""; 
    for (i=0; i<=6; i++) { 
     html += "<p>" + i + "</p>"; 
    } 
    document.write(html); 
</script> 
1

當然。您的代碼應該是這樣的:

<script type="text/javascript"> 
var total = 5; 
for (i=0; i <= total; i++) 
    { 
    document.write('<p>' + i + '</p>'); 
    } 
</script> 
0

你可以把 document.write('<p>' + i + '</p>');在循環

相關問題