Jquery:使用Jquery元素的砌体(';hide';,element)方法

Jquery:使用Jquery元素的砌体(';hide';,element)方法,jquery,jquery-masonry,Jquery,Jquery Masonry,所以,我在我的网站上用砖石来做一个“流畅”的布局,但现在我遇到了一个问题,涉及到它的隐藏和显示方法 在某种情况下,我打这个电话: $container.masonry('hide', $(this)); 如您所见,我使用$(this)来告诉您通过jquery隐藏哪个元素 但是很明显,这个方法不适用于jquery元素 “我的控制台”中的错误消息如下所示: Uncaught TypeError: Object #<HTMLElement> has no method 'hide' (m

所以,我在我的网站上用砖石来做一个“流畅”的布局,但现在我遇到了一个问题,涉及到它的隐藏和显示方法

在某种情况下,我打这个电话:

$container.masonry('hide', $(this));
如您所见,我使用
$(this)
来告诉您通过jquery隐藏哪个元素

但是很明显,这个方法不适用于jquery元素

“我的控制台”中的错误消息如下所示:

Uncaught TypeError: Object #<HTMLElement> has no method 'hide' (masonry.pkgd.min.js:9)
项目类型:砌体阵列。项目


什么是砖石,应该是什么?那么如何将我的元素表示为一个呢?

如果您阅读文档,您会发现
项是
元素的
数组

项目
类型:砌体阵列。项目

试试这个

var arr=new Array();
arr.push($(this));
$container.masonry('hide', arr); 
添加此功能

// FIX para Masonry
// goes through all children again and gets bricks in proper order
Outlayer.prototype.publicItemize = function() {
  // collection of item elements
  return this._itemize( this.element.children );
};
现在你可以这样做了

// Get correcto list in correct format
var _list = container.masonry("publicItemize");
// Actions on "_list"
// hide elements
container.masonry("hide", _list);

谢谢它完美地隐藏了我的物品。。。但是。。。我试图使用它的对应项'Massy'reveal',arr',但现在它返回错误“UncaughtTypeError:Object[Object Object]没有方法'reveal'”。我最终放弃了使用插件方法,现在我只使用jquery standard.show()和.hide(),并调用Massy'layout')方法稍后-哇,谢谢@XuxuBelezA我在四处寻找一个体面的解决方案,来解决隐藏函数的古怪行为,你建议只使用jquery隐藏和显示,这真的解决了我的问题,加快了我的一天!从技术上讲,这并不是问题的答案,但我认为,在这个话题上,它应该更明显!
// Get correcto list in correct format
var _list = container.masonry("publicItemize");
// Actions on "_list"
// hide elements
container.masonry("hide", _list);