如何从$ .something获取价值{(...)}

时间:2016-10-07 09:07:02

标签: javascript jquery

我有以下代码:

$.simpleWeather({
    location: coordinates,
    unit: 'c'
}

我希望得到'unit'的价值。我怎么得到它?我试过这个:

console.log($.simpleWeather.unit);

但它返回'undefined'。

另外,因为我不知道怎么称呼它,我不能简单地谷歌它...

1 个答案:

答案 0 :(得分:2)

这完全取决于var sw = $.simpleWeather({ location: coordinates, unit: 'c' } console.log(sw.unit); 对您放置的对象的作用。从它的外观来看,simpleWeather是一个jquery扩展。您可以将这些视为带参数的函数,并且可能(或可能不)返回jquery选择器。

如果simpleWeather返回一个jquery本身而不是一个裸jquery选择器(或者根本没有任何东西),你可以这样做:

var sw = $.simpleWeather({
    location: coordinates,
    unit: 'c'
}

console.log(sw);

你可能想尝试这样做,只是想弄清楚jquery扩展的返回值实际上是什么。

  var swInstances = [];

  ...
  var swParameters = {
     unit : 'c',
     location : coordinates,
  };

  swInstances.push({
     usedParameters : swParameters,
     simpleWeatherInstance : $.simpleWeather(swParameters)
  });

如果无法从扩展名的返回值中检索单位,则可能需要对其进行单独跟踪。 如果是多个实例,您可以使用数组执行此操作,如下所示:

...
var frame = sender as Frame;
UserControl1 uc1 = frame.Content as UserControl1;
MainViewModel mvm = uc1.DataContext as MainViewModel;
...

然后,您可以使用swInstances数组访问每个simpleWeather实例所需的所有信息。