"坏砌体元素:[对象对象]"

Sta*_*erg 6 console jquery 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
Run Code Online (Sandbox Code Playgroud)

我的剧本 -

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

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

我确保包含imagesLoaded插件,即使我排除了相同的错误也显示出来.它似乎是指我的plugins.js文件,我已经存储了Masonry的代码,但我没有修改任何东西.

Gri*_*rin 15

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

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

或者使用jQuery初始化:

$container.imagesLoaded( function(){
        $container.masonry({
            columnWidth: 320,
            itemSelector: '.item'
        });
    });
Run Code Online (Sandbox Code Playgroud)