使用Java Script创建表



我有一个问题,使用Java脚本创建一个表,显示一个数组。我必须使用外部Javascript文件来创建数组,并使用for循环来创建和填充表。我所遇到的问题是脚本标签内没有发生任何事情。我会写"文档"。写(' hello World!')",什么也没发生。所以毫不奇怪,当我尝试用数组创建for循环时,什么也没发生。任何帮助都会很感激。这是我第一次以这种方式使用Javascript,教授提供的注释中没有关于如何使用for循环创建制表符的相关信息。

myarray.js

var classArray = new Array();
classArray[0] = "CST415 Software Enterprise II";
classArray[1] = "CST420 Foundations for Distruibuted Web Applications in Java"
classArray[2] = "CST433 Database Technology"
classArray[3] = "Ethics and Professional Computing"
classArray[4] = "Introdiction to Graphics Programming"

可疑代码:

<table class="classes">
    <tr>
        <td>
            Classes Taken for Computer Science Major
        </td>
    </tr>
        <script type="text/javascript" src="myarray.js" >
            for(var i=0; i<5;i++){
                document.write('<tr><td>');
                document.write(classArray[i]);
                document.write('</td></tr>');
            }
        </script>
</table>

您不能让单个<script>同时加载外部.js文件(通过src=属性)包含自己的内联代码(您的for循环)。你必须把它分成两部分:

<script type="text/javascript" src="myarray.js"></script>
<script type="text/javascript">
   for (...) {
      ....
   }
</script>

对于那些从谷歌来的发现其他答案不满意的人。下面是一个不使用jQuery的介绍:

var table = document.createElement("table");
var tableBody = document.createElement("tbody");
var row = document.createElement("tr");
for (var i = 0; i < 5; i++) {
    var cell = document.createElement("td");
    var cellText = document.createTextNode("This is cell " + i);
    cell.appendChild(cellText);
    row.appendChild(cell);
}
tableBody.appendChild(row);
table.appendChild(tableBody);

在jsFiddle中试试

不能在外部脚本标签中使用内联脚本。

它们需要是两个独立的标签

我宁愿重构你的代码:

<script type="text/javascript">
var myTable = document.getElementById('my_table');
// use array literals, not new Array()
var elements = [
    "CST415 Software Enterprise II",
    "CST420 Foundations for Distruibuted Web Applications in Java",
    "CST433 Database Technology",
    "Ethics and Professional Computing",
    "Introdiction to Graphics Programming"
].map(function(title) {
     return '<tr><td>' + title + '</td></tr>'
});
document.getElementById('my_table').tBodies[0].innerHTML = elements.join('');
</script>
<table id="my_table" class="classes">
    <thead>
      <tr>
        <td>
            Classes Taken for Computer Science Major
        </td>
      </tr>
    </thead>
    <tbody>
    </tbody>
</table>

您可以在这里查看:http://jsfiddle.net/a3X7A/.

可能不是最好的方法,但是我使用jQuery

完成了这个任务。
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="myarray.js" >
<script type = "text/javascript">
for (i=0; i<5; i++) {
   $("#TableName").append("<tr><td>" + classArray[i] + "</td></tr>");
   //or if your table doesn't have a name you can find by element or by class
   $(".classes").....
   $("table").....
}
</script>
__author__ = 'kunaln'
a=input("enter first value ")
g=(int)(a)*(int)(1)
print (g)
k=(int)(a)*(int)(2)
print (k)
u=(int)(a)*(int)(3)
print (u)
n=(int)(a)*(int)(4)
print (n)
b=(int)(a)*(int)(5)
print (b)
z=(int)(a)*(int)(6)
print (z)
x=(int)(a)*(int)(7)
print (x)
y=(int)(a)*(int)(8)
print (y)
p=(int)(a)*(int)(9)
print (p)
d=(int)(a)*(int)(10)
print (d)

最新更新