jQuery传递变量奇怪的语法

时间:2009-12-09 07:08:19

标签: jquery argument-passing

我有以下两个功能:

$(".content").click( function() {
    var id = this.id;
    $.get("InfoRetrieve", { theid:id }, addContent );
});

function addContent(data){
    $("#0001").append(data);
}

我需要将'id'变量从第一个函数传递给addContent函数,我不太了解它是如何工作的。在上面的例子中,我将“data”变量隐式传递给addContent函数(似乎)。我会做这样的事情:

在第一个功能中 addContent - 变成 - > addContent(ID)

在第二个功能

addContent(data) - 变成 - > addContent(数据,ID)

还是完全不同的东西?

编辑:我根据Denis的建议进行了修改,但是现在似乎没有任何反应 - 之前我已经进行了一些硬编码,所以我能够看到我的“数据”被附加到适当的地方:

$(".content").click( function() {
var id = this.id;
$.get("InfoRetrieve", { theid:id }, addContent {addContent(data, id)}  );
});

function addContent(data, id){
alert(id);
$("#0001").append(data);
}

另一个编辑 Firefox说: 左后参数列表 [打破此错误] $ .get(“InfoRetrieve”,{theid:id ...,addContent {addContent(data,id)}); \ n ... ....但这似乎没有有道理,因为据我所知,所有的括号都与其他东西相匹配。

2 个答案:

答案 0 :(得分:1)

尝试

$.get("InfoRetrieve", { theid:id }, function(data) {addContent(data, id)} );

答案 1 :(得分:1)

尝试:

$(".content").click( function() {
  var id = this.id;
  $.get("InfoRetrieve", { theid:id }, function() {
    addContent(data, id);
  });
});

function addContent(data, id){
  alert(id);
  $("#0001").append(data);
}