【发布时间】:2012-10-30 15:06:16
【问题描述】:
你好!
我们来看看下面的jQuery函数:
$.fn.getMax = function() {
return this.height(Math.max.apply(this, $(this).map(function(i, e) {
return $(e).height();
}).get()));
};
它返回并设置所有选择器的最高高度。但是,如果您想返回最高值的object(不是高度),那又是什么呢?
所以如果你这样调用函数:
$(selector).getMax().css({backgroundColor: "indigo"});
...高度最高的元素如何获得backgroundColor?
更新
正如Amareswar 所说,我现在使用$.makeArray 管理它。
$.fn.getMax = function(prop) {
var max = $.makeArray($(this)).sort(function(a, b) {
return (parseInt($(b).css(prop), 10) || 1) - (parseInt($(a).css(prop), 10) || 1);
}).shift();
return $(max);
};
干杯!
【问题讨论】:
-
你还没有问过问题……只是提供了一些没有意义的代码
-
'return this' 作为最后一条语句
-
@charlietfl 添加了
how和?;-) -
@Amareswar
return this,不成功。 -
在这种情况下,您应该通过将元素作为参数传递来编写像 $.makeArray 这样的静态函数。
标签: javascript jquery size height