我试图构建一个小jQuery插件,但我得到一个错误,group.height()不是一个函数?
(function( $ ) {
$.fn.equalHeight = function(group) {
group = $.extend(group);
var tallest = 0;
group.each(function () {
var thisHeight = $(this).height();
if (thisHeight > tallest) {
tallest = thisHeight;
}
});
group.height(tallest);
// allow jQuery chaining
return this;
};
}( jQuery ));
用法示例如下:
<script>
// Usage example:
$( ".boxes section.box" ).equalHeight();
</script>
答案 0 :(得分:2)
使用this
?
在你的声明中,你的equalHeight接受一个参数,但你没有传递任何东西。请注意,在自定义jQuery函数中,您不必传递group
,因为this
标识符已经引用了您的组。
所以,要么group = this
,要么完全替换
答案 1 :(得分:1)
尝试
(function ($) {
$.fn.equalHeight = function () {
var tallest = 0;
this.each(function () {
var thisHeight = $(this).height();
if (thisHeight > tallest) {
tallest = thisHeight;
}
});
// allow jQuery chaining
return this.height(tallest);
};
}(jQuery));
演示:Fiddle