0

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

因此,如果长度 = 5,生成的 html 应该如下所示:

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

是否有可能做到这一点?

4

7 回答 7

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
}
于 2012-08-01T01:56:52.333 回答
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>
于 2012-08-01T01:56:30.983 回答
1

当然。您的代码如下所示:

<script type="text/javascript">
var total = 5;
for (i=0; i <= total; i++)
  {
    document.write('<p>' + i + '</p>');
  }  
</script>
于 2012-08-01T01:57:19.527 回答
0

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

<script type="text/javascript">
  var html = "";
  for (i=0; i<=6; i++) {
      html += "<p>" + i + "</p>";
  } 
  document.write(html);
</script>
于 2012-08-01T01:57:17.240 回答
0

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

于 2012-08-01T01:58:01.970 回答
0

是的,有可能:

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

但是有一些很好的插件可以更好地促进这个过程,特别是如果你打算做更多这样的事情:

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

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

于 2012-08-01T02:00:16.180 回答
-2

您可以<div id="div"></div>在您的 html 中制作 a 并简单地在函数中制作:

$("#div").html('<p>'+i+'</p>');
于 2012-08-01T01:56:50.160 回答