我已经创建了一个函数来获取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;
});
知道我该怎么办?
答案 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);
//...
}