【问题标题】:jQuery passing variable strange syntaxjQuery传递变量奇怪的语法
【发布时间】:2009-12-09 07:08:19
【问题描述】:

我有以下两个功能:

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

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

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

在第一个函数中 addContent -- 变成 --> addContent(id)

在第二个函数中

addContent(data) -- 变成 --> addContent(data,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
.... 但这似乎没有有道理,因为据我所知,所有括号都与其他内容匹配。

【问题讨论】:

    标签: jquery argument-passing


    【解决方案1】:

    试试

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

    【讨论】:

    • 嗨,丹尼斯,感谢您的帮助。但这似乎不起作用。我已经更新了问题。
    • 您更新中的代码看起来不像 deniss 的建议,这绝对可以。
    【解决方案2】:

    试试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2013-10-09
      • 1970-01-01
      • 2012-07-02
      相关资源
      最近更新 更多