是否可以从JavaScript生成HTML?

问题描述:

是否有可能从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> 

是否有可能做到这一点?

很有可能的。您可以将元素插入到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

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

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

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

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

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

当然。您的代码应该是这样的:

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

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

是的,这是可能的:

http://www.java2s.com/Code/JavaScript/HTML/GeneratingHTMLOntheFly.htm

,但也有利于一些不错的插件工艺较好,特别是如果你打算做更多这样的:

http://api.jquery.com/category/plugins/templates/

http://akdubya.github.com/dustjs/