javascript - 尝试使用 jQuery 从对象数组创建简单的表

标签 javascript jquery

我试图通过循环对象数组来使用 jQuery 创建一个简单的表,但在控制台中收到此消息:

TypeError: 'undefined' is not an object (evaluating 'people[i].lastName')

如果我定义特定对象(即 John.lastName)但不使用 array[i],它会起作用,我做错了什么吗?

var person = function(firstName, lastName) {
    this.firstName = firstName || "Anonymous";
    this.lastName = lastName || "Anonymous";
    };

    var John = new person("John", "Walter");
    var Bob = new person("Bob", "Stevens");
    var Gerry = new person("Gerry", "Cricket");
    var Frank = new person("Frank", "Bloom");

    var people = [John, Bob, Gerry, Frank];

    for (i = 0; i < people.length; i++) {

    $(document).ready(function() {
    $("body").append("<table><tr><td>" + people[i].lastName + "</td></tr></table>");
    });

    };

最佳答案

You can't put a $(document).ready within a for loop. Put your function inside the document.ready and your code works fine. To Add a table before the for loop and the /table 
after the for loop to prevent making each row in the array a table.

     $(document).ready(function()
  {
var person = function(firstName, lastName) {
    this.firstName = firstName || "Anonymous";
    this.lastName = lastName || "Anonymous";
    };

    var John = new person("John", "Walter");
    var Bob = new person("Bob", "Stevens");
    var Gerry = new person("Gerry", "Cricket");
    var Frank = new person("Frank", "Bloom");

    var people = [John, Bob, Gerry, Frank];
        $("body").append("<table>");

    for (i = 0; i < people.length; i++) {
console.log(people[i]);

   $("table").append("<tr><td>" + people[i].lastName + "</td></tr>");

    };
    $("<table>").append("</table>");
    });

关于javascript - 尝试使用 jQuery 从对象数组创建简单的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981915/

相关文章:

javascript - 我应该在每个页面的 ASP.net MVC 应用程序中的什么位置放置 "ng-app"指令?

javascript - 如何在没有任何框架代码的情况下使用 JavaScript 选择自定义选择组件的选项?

Javascript 颜色和表格?

javascript - 多次防止jquery fadeIn

jquery - 发送一个简单的 GET 请求

javascript - 替换 ul 中 <li> 标记中的文本

javascript - 使用javascript返回每第三个奇数?

javascript - 正则表达式 : Retrieve the GUID inside [ ] parenthesis

jquery - 单击外部时使用 HTML 关闭弹出窗口

javascript - 如何制作一个只接受时间的文本框(hh :mm)?