我正在尝试使用多个返回但只是不断破坏代码。我尝试过几个例子,但找不到合适的组合。
如何将这两个return语句合并为一个?
$(".bar").popover({
content:
function (){
return $(this).data('dataObj').status;
return $(this).data('dataObj').timeline;
}
});
答案 0 :(得分:8)
使用
function (){
return $(this).data('dataObj');
}
OR
function (){
// return an array
return [ $(this).data('dataObj').status, $(this).data('dataObj').timeline ]
}
OR
function (){
// return a associative array
return { "status": $(this).data('dataObj').status, "timeline": $(this).data('dataObj').timeline }
}
并处理调用者中的组件。
<强>更新强>
content
的{{1}}参数需要一个字符串作为参数,你可以这样做:
popover
答案 1 :(得分:3)
撇开这个特定情况,插件需要某种类型的返回值(在这种情况下显然是一个字符串),你真的不能...... 一个return语句终止函数。你需要做的是返回一个包含这两个值的对象(或数组) -
var status = $(this).data('dataObj').status;
var timeline = $(this).data('dataObj').timeline;
return [status,timeline];
或者
var status = $(this).data('dataObj').status;
var timeline = $(this).data('dataObj').timeline;
var returnObj = {'status':status, 'timeline':timeline};
return returnObj;
答案 2 :(得分:1)
您可以返回包含这两个项目的对象或数组
$(".bar").popover({
content:
function (){
return
{
status: $(this).data('dataObj').status;
timeline: $(this).data('dataObj').timeline;
}
}
});
答案 3 :(得分:0)
尝试使用.status和.timeline作为元素返回数组。 Ok Lix更快。