【问题标题】:"Bad Masonry element: [object Object]"“坏砌体元素:[object Object]”
【发布时间】:2013-08-30 00:34:58
【问题描述】:

试图合并最新版本的 Masonry,我不知道这个错误意味着什么。在控制台中,我收到以下消息:

Bad masonry element: [object Object] plugins.js:16
y plugins.js:16
n plugins.js:16
(anonymous function) script.js:24
c jquery.js:3048
p.fireWith jquery.js:3160
x.extend.ready jquery.js:433
q

我的脚本 -

var $container = $('#container');

$container.imagesLoaded( function(){
    var msnry = new Masonry( $container, {
        columnWidth: 320,
        itemSelector: '.item'
    });
});

我已确保包含 imagesLoaded 插件,即使我排除此错误也会显示相同的错误。它似乎指的是我存储 Masonry 代码的 plugins.js 文件,但我没有修改任何内容。

【问题讨论】:

    标签: jquery console jquery-masonry


    【解决方案1】:

    您正在将 jQuery 对象 ($container) 传递给不期望它的 Masonry 构造函数。 您可以将其更改为 $container[0] 以从 jQuery 对象中获取 DOM 元素:

    $container.imagesLoaded( function(){
        var msnry = new Masonry( $container[0], {
            columnWidth: 320,
            itemSelector: '.item'
        });
    });
    

    或者使用jQuery初始化:

    $container.imagesLoaded( function(){
            $container.masonry({
                columnWidth: 320,
                itemSelector: '.item'
            });
        });
    

    【讨论】:

    • 谢谢。我想使用 jQuery 初始化,但这给了我另一个错误,因为加载图像后砌体布局消失了。但我想使用该回调是正确的方法。
    猜你喜欢
    • 2014-11-06
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2013-01-26
    • 2017-08-24
    相关资源
    最近更新 更多