我正在尝试应用此选择器来删除看起来像这样的 div 中除第一个之外的所有图像。
$(".item_cont a img").not(":eq(0)").hide();
如此处所示:
http://jsfiddle.net/jojoroxursox/9AFpv/
但是,当应用于砖石网格时,它会删除所有项目,即使是只有一个图像的项目。
http://jsfiddle.net/jojoroxursox/M9Yau/
有什么建议么?
我正在尝试应用此选择器来删除看起来像这样的 div 中除第一个之外的所有图像。
$(".item_cont a img").not(":eq(0)").hide();
如此处所示:
http://jsfiddle.net/jojoroxursox/9AFpv/
但是,当应用于砖石网格时,它会删除所有项目,即使是只有一个图像的项目。
http://jsfiddle.net/jojoroxursox/M9Yau/
有什么建议么?
在这种情况下,您希望选择所有匹配元素列表中除第一个项目之外的所有项目。 .slice(startIndex)
非常适合这个集合减少,如下所示:
$(".item_cont a img").slice(1).hide();
这是您更新的 jsfiddle,尽管我个人对所有图像都得到了 403 ......所以看不到它的工作清晰。
如果我误解了并且您想删除除第一个per .item_cont
之外的所有内容,那么您需要的是选择器端的更多内容,例如:gt()
(大于索引):
$(".item_cont a img:gt(0)").hide();
像这样的东西?
var imgToKeep = $(".item_cont a img")[0];
$("img").each(function () {
if (this !== imgToKeep) {
$(this).hide();
}
});
即使它们确实在测试环境中工作,也无法让这些工作中的任何一个工作。我想知道它的砖石是否会造成问题。
解决方法是在后端使用正则表达式在隐藏的 div 中输出第二级图像。