如何使用javascript提示创建一个创建html表的网站?

时间:2016-10-03 21:41:15

标签: javascript variables html-table

UPDATE ps_product_shop ps
        LEFT JOIN
    ps_product p ON ps.id_product = p.id_product 
SET 
    ps.id_tax_rules_group = XXX
WHERE
    p.id_manufacturer = 1;

我的代码出了什么问题?我回答了所有提示,但屏幕上没有任何反应。我的教授说我需要在另一个for循环中使用for循环,我缺少什么?

2 个答案:

答案 0 :(得分:1)

一个问题是您没有初始化i变量(代码中没有' var i')。此变量是循环的索引变量,将其设置为用户输入的行/列输入变量。

另外,当你放置一个嵌套循环时,不要试图重用索引变量(i)。

通过循环迭代器的逻辑,你实际上希望循环运行以条件i> 0

将循环更改为:

for(var i = r; i > 0; i--){
    document.write('<tr>');
    for(var j = c; j > 0; j--){
...

并检查html中的标签是什么,你真的想要td

然后您仍然无法看到刚刚创建的表格,因为&#39;单元格中没有内容,因此您可以添加内容,也可以在使用浏览器开发人员工具时查看该表格。

答案 1 :(得分:0)

多项更正:

  1. 不要多次使用document.write,因为每次调用都会覆盖正文的内容。
  2. 您的迭代器分配逻辑是向后的 - 分配i = r,而不是r = i,因为右侧的表达式(在本例中为变量)的值被分配给左侧的变量。
  3. 您需要为内部j循环使用单独的迭代器变量(例如for),否则会干扰外部循环。
  4. 迭代器条件关闭1.如果要从最大数量(行数,列数)减少,则在i / j大于0时迭代,而不是-1
  5. &#13;
    &#13;
        var r = prompt ("how many rows ?");
        var c = prompt ("how many columns ?");
        var red = prompt ("how red ?");
        var green = prompt ("how green ?");
        var blue = prompt ("how blue ?");
        var html = '<table style="width:100%"    bgcolor="'+red+''+green+''+blue+'">';  
        for(var i= r; i > 0; i--){        
          html += '<tr>';
            for(var j = c; j > 0; j--){
                html +='<th></th>';
            };
            html += '</tr>';
        };
        html +='</table>';
        document.write(html);
       //or else instead of document.write, use something like the line below :       
       //document.body.innerHTML = html;
    &#13;
    <!DOCTYPE html>
    <html>
    <head>
    <title></title>
    </head>
    <body id="container">
    
    </body>
    </html>
    &#13;
    &#13;
    &#13;