我发现这个片段给了我一个物体的最大高度,除了ie8之外,它在一切都很好。有什么我可以改变它会使它正常工作吗?
function thisHeight(){
return $(this).height();
}
$("#new-deals ul.centerSpace").height(function() {
var dealNameHeight = Math.max.apply(Math, $(this).find(".deal-name").map(thisHeight));
$(".deal-name").css({height: dealNameHeight});
});
答案 0 :(得分:0)
See this:如果它回答了您,请删除此问题并且不接受此答案有答案。 (所有归功于Blazermonger信誉重复的信用)
IE8 Object doesn't support this property or method (Math.max.apply)
答案 1 :(得分:0)
IE8不支持map()
;作为后备,您可以使用提供map()
实现的下划线,浏览器不支持它,并允许您传递上下文。
这让我介绍了第二个问题:您可能遇到必须通过thisHeight
传递的上下文的问题。
var arr = _.map($(this).find(".deal-name"), function(el) {
return thisHeight.call(el); //note that el and this are not identical
}, this);
Math.max.apply(Math, arr); //if you use underscore
如果上下文未通过thisHeight
传递,this
可能会引用全局对象,即window
。