高度不是一个功能

时间:2013-10-14 12:37:07

标签: javascript jquery

我试图构建一个小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>

2 个答案:

答案 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