将两个变量传递给一个JavaScript函数

Passing two variables to one JavaScript function

本文关键字:一个 JavaScript 函数 变量 两个      更新时间:2023-09-26

如果我传递一个变量id,我已经完成了,但现在我想在单击图像时将name传递给相同的函数。这是我的代码:

 for (var i = 0; i <friend_data.length; i++) {
                        results += '<div class = "clicker" id = "'+friend_data[i].id+'" onclick="javascript:testId(this.id,'+ friend_data[i].name+')"><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture" height="30" width="30">' + friend_data[i].name + '</div>';
                    }

function testId(id, friend_data[id].name ){
    alert(id);
    alert(friend_data[i].name);     
}

alert(friend_data[i].name);没有显示,因为它是错误的。请帮我纠正一下。请看哪怕是onclick,传递变量的正确方式是什么?

尝试这个

function testId(id, name ){
    alert(id);
    alert(name);
}

将循环更改为此

for (var i = 0; i <friend_data.length; i++) {
results += '<div class = "clicker" id = "'+friend_data[i].id+'" onclick="javascript:testId(this.id,'+friend_data[i].name+')"><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture" height="30" width="30">' + friend_data[i].name + '</div>';
}

您忘记在代码'+friend_data[i].name+':中添加+

for (var i = 0; i <friend_data.length; i++) {
    results += '<div class = "clicker" id = "'+friend_data[i].id+'" onclick="javascript:testId(this.id, '+friend_data[i].name+')"><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture" height="30" width="30">' + friend_data[i].name + '</div>';
}

您的函数应该定义为:

function testId(id, name) {
    alert(id);
    alert(name);
}

当调用函数时,name将取friend_data[i].name的值。

function testId(id, name ){
    alert(id);
    alert(name);
}

然后调用:testId(friend_data[i].id, friend_data[i].name)

function testId(friend){
    alert(friend.id);
    alert(friend.name);
}

然后用:testId(friend_data[i])

调用它