Javascript 如何使用jquery在页面上动态添加用户

Javascript 如何使用jquery在页面上动态添加用户,javascript,jquery,html,Javascript,Jquery,Html,我搞不清楚这件事。我有一个数据库,上面有用户,我想使用jquery动态显示页面上的每个用户 我刚刚在一个数组中抛出了一些用户数据对象,我试图调用数组中的每个用户对象在页面上显示为列表项 html 列表 javascript var user = [ { username: alex, age: 20 }, { username: james, age: 20 } ] function addUser() { var username = user.

我搞不清楚这件事。我有一个数据库,上面有用户,我想使用jquery动态显示页面上的每个用户

我刚刚在一个数组中抛出了一些用户数据对象,我试图调用数组中的每个用户对象在页面上显示为列表项

html

列表
javascript

var user = [
{
    username: alex,
    age: 20
},
{
    username: james,
    age: 20
}
]

function addUser() {
    var username = user.username;
    var age = user.age

    var $user = $("<li>" + username + "</li>");
    var $age = $("<li>" + age + "</li>");

    $("#list").append($user + " " + $age);
}

$.each(user, addUser());
var用户=[
{
用户名:alex,
年龄:20
},
{
用户名:james,
年龄:20
}
]
函数addUser(){
var username=user.username;
var age=user.age
var$user=$(“
  • ”+username+“
  • ”); var$age=$(“
  • ”+age+“
  • ”); $(“#列表”).append($user++$age); } $.each(user,addUser());
    你的错误很简单。当您使用
    $时,必须将
    addUser()
    替换为
    addUser
    。每个
    方法。使用
    .append
    方法时也会出现错误。请尝试以下代码:

    var用户=[
    {
    用户名:“alex”,
    年龄:20
    },
    {
    用户名:“詹姆斯”,
    年龄:20
    }
    ];
    函数addUser(案例、值){
    var username=value.username;
    var age=value.age;
    var user='
  • '+username;//使用一个简单的字符串,它更好更快! 变量年龄=年龄+'
  • '; $(“#列表”).append(用户+”+年龄); } $。每个(用户、添加用户)
    
    列表
    

    当您将回调传递给jQuery
    每个
    函数时,发生的情况是,回调将与
    用户
    数组中的每个元素一起调用

    检查传递给回调的参数。回调函数签名应该包含索引和该索引中元素的值

    例如:

    var users = user = [
      {
        username: alex,
        age: 20
      },
      {
        username: james,
        age: 20
      }
    ];
    
    function addUser(index, user) {
      // do what you want and in the end
      $('#list').append(/* an <li> element */);
    };
    
    // Now pass the function as a callback, but don't invoke it.
    $.each(users, addUser);
    
    var users=user=[
    {
    用户名:alex,
    年龄:20
    },
    {
    用户名:james,
    年龄:20
    }
    ];
    函数addUser(索引,用户){
    //做你想做的,最后
    $('#list')。追加(/*一个
  • 元素*/); }; //现在将函数作为回调传递,但不要调用它。 $。每个(用户,添加用户);
  • 请检查页面:

    var用户=[{
    用户名:“alex”,//使用字符串
    年龄:20
    }, {
    用户名:“james”,//使用字符串
    年龄:20
    }];
    函数addUser(idx,用户){
    var username=user.username;
    var age=user.age
    var$user=$(“
  • ”+username+“
  • ”); var$age=$(“
  • ”+age+“
  • ”); $(“#列表”).append($user).append($age);//对每个节点使用append } $.each(用户,添加用户);//使用函数名而不是addUser()

    我已经添加了可以帮助您完成上述示例的注释。

    将addUser()更改为addUserHey我尝试了一下,但是用户仍然没有出现在
      中任何想法?我尝试了这个,但是用户仍然没有出现在
        中任何想法?嘿,谢谢您的回复,我不太确定您从哪里获得addUser(索引,用户)?感谢检查中的文档
        jQuery。每个
        都将这些参数传递给回调函数:
        (整数索引数组,对象值)
        。看看这些例子,我相信它们都是有道理的。记住,javascript中的函数是一流的公民,这意味着它们可以像任何其他变量一样传递和使用;)。他们的力量在于他们可以被召唤,这就是这里使用的技巧。灯泡时刻!谢谢我的头一直绕不过去!非常感谢这项工作!但是你能告诉我你是从哪里得到idx的吗?为什么你需要在addUser(idx,user)中使用它??非常感谢,这是.each()函数规范的一部分。
        var users = user = [
          {
            username: alex,
            age: 20
          },
          {
            username: james,
            age: 20
          }
        ];
        
        function addUser(index, user) {
          // do what you want and in the end
          $('#list').append(/* an <li> element */);
        };
        
        // Now pass the function as a callback, but don't invoke it.
        $.each(users, addUser);
        
        var user = [{
           username: "alex", // use string
           age: 20
        }, {
           username: "james", // use string
           age: 20
        }];
        
        function addUser(idx, user) {
           var username = user.username;
           var age = user.age
        
           var $user = $("<li>" + username + "</li>");
           var $age = $("<li>" + age + "</li>");
        
           $("#list").append($user).append($age); // use append for each node
        }
        
        $.each(user, addUser); // use function name instead of addUser()