jquery将数组数据传递给函数

时间:2012-01-30 15:12:15

标签: javascript jquery

我已经创建了一个函数来获取onclick的变量并将其传递给函数,但我希望它以不同的格式:

$('.ajax').live('click', function() {   
    var Loading = 'Loading...';
    var url = $(this).attr('href');
    var container = '#myDivcontent';
    looadContents(url,Loading,container);
    return false;
});

,功能如下:

looadContents(url,Loading,container) {
..
...
$(contaner).load(url);
...
..
}

我想在调用函数时使用数组格式或json数据格式:

$('.ajax').live('click', function() {   
    looadContents({
             url : $(this).attr('href'),
             Loading : 'Loading...',
             container: '#myDivcontent'
     });
    return false;
});

知道我该怎么办?

5 个答案:

答案 0 :(得分:2)

如果您像对象一样传递信息,则只需将其作为一个对象进行访问:

function looadContents(options) {
    $(options.container).load(options.url);
}

looadContents({ url: '...', container: '#...' });

答案 1 :(得分:1)

使用有时称为“选项”的对象(您称之为“JSON数据格式”只是一个JavaScript对象文字):

function loadContents(options) {
    var url = options.url;
    var Loading = options.Loading;
    /* etc. */
}

您还可以利用此方法为某些参数提供默认值:

function loadContents(options) {
    var url = options.url || "http://default-url.com/",
    var Loading = options.Loading || "Loading...";
    var container = options.container || "#container";

    $(container).load(url);
}

答案 2 :(得分:1)

此语法按预期工作。

function display(obj)
{
    console.log(obj.name + " loves " + obj.love);
}
display({name:"Jared", love:"Jamie"});

答案 3 :(得分:1)

这可能是你在找什么?

function looadContents(o) {

  alert(o.url);
  alert(o.container);

}

looadContents({ url:"abc", container: "def" });

答案 4 :(得分:0)

试试这个

looadContents(input) {
  //...
  $(input.contaner).load(input.url);
  //...
}