“坏砌体元素:[对象对象]”

时间:2013-08-27 10:03:09

标签: jquery console jquery-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插件,即使我将其排除在外,也会显示相同的错误。它似乎是指我的plugins.js文件,我存储了Masonry的代码,但我没有修改任何东西。

1 个答案:

答案 0 :(得分:15)

您正在将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'
        });
    });