如何在JS中创建表

时间:2016-06-19 17:29:34

标签: javascript jquery

我需要在JS中创建一个表并在页面中显示它,但它似乎不起作用。我有两个函数,第一个实际创建表,第二个函数来排序表中的元素。我尝试在标识为showlist的html中创建一个简单的div,但该表未出现在页面中。请参阅下面的代码。

function myfunction() {
  var array2 = [];
  var list = "<table border ='1'>";
  array2.sort(order);

  list = list + "<tr>";
  list = list + "<td colspan = '2'> TABLE </td>";
  list = list + "</tr>";
  list = list + "<tr>";
  list = list + "<td> PRICE</td>";
  list = list + "</tr>";

  for (i = 0; i <= array2.length; i++) {
    list = list + "<tr>";
    list = list + "<td>" + array2[i].name + "</td>";
    list = list + "<td>" + array2[i].price + "</td>";
    list = list + "</tr>";
  }
  list = list + "</table>";
  $("#showlist").html(list);
}

function order(n1, n2) {
  if (n1.price > n2.price) {
    return 1;
  } else {
    if (n1.price < n2.price) {
      return -1;
    } else {
      return 0;
    }
  }
}

1 个答案:

答案 0 :(得分:3)

您的for循环<=0运行到array2.length,应该是< - 从0array2.length-1

for (i = 0; i < array2.length; i++) {
//            ^_ Notice change here
   ...
}

否则,最后一次迭代会抛出未定义的错误。

  

未捕获的TypeError:无法读取属性&#39; name&#39;未定义的

<强> Fiddle Example