2

我正在尝试构建一个小 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>
4

2 回答 2

2

使用this?在您的声明中,您的 equalHeight 接受一个参数,但您没有传递任何东西。请注意,在自定义 jQuery 函数中,您不必传入group,因为this标识符已经引用了您的组。

所以,要么做group = this,要么完全替换它

于 2013-10-14T12:40:48.173 回答
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));

演示:小提琴

于 2013-10-14T12:40:16.273 回答