2

我正在尝试应用此选择器来删除看起来像这样的 div 中除第一个之外的所有图像。

$(".item_cont a img").not(":eq(0)").hide();

如此处所示:

http://jsfiddle.net/jojoroxursox/9AFpv/

但是,当应用于砖石网格时,它会删除所有项目,即使是只有一个图像的项目。

http://jsfiddle.net/jojoroxursox/M9Yau/

有什么建议么?

4

3 回答 3

3

在这种情况下,您希望选择所有匹配元素列表中除第一个项目之外的所有项目。 .slice(startIndex)非常适合这个集合减少,如下所示:

$(".item_cont a img").slice(1).hide();

这是您更新的 jsfiddle,尽管我个人对所有图像都得到了 403 ......所以看不到它的工作清晰。

如果我误解了并且您想删除除第一个per .item_cont之外的所有内容,那么您需要的是选择器端的更多内容,例如:gt()(大于索引):

$(".item_cont a img:gt(0)").hide();
于 2011-09-14T22:20:49.043 回答
1

像这样的东西?

var imgToKeep = $(".item_cont a img")[0];
$("img").each(function () {
    if (this !== imgToKeep) {
        $(this).hide();
    }
});
于 2011-09-14T21:59:58.450 回答
1

即使它们确实在测试环境中工作,也无法让这些工作中的任何一个工作。我想知道它的砖石是否会造成问题。

解决方法是在后端使用正则表达式在隐藏的 div 中输出第二级图像。

于 2011-09-21T08:55:43.090 回答