JQuery скрыть все, кроме первого изображения в каменной кладке - PullRequest
2 голосов
/ 15 сентября 2011

Я пытаюсь применить этот селектор, чтобы удалить все изображения, кроме первого в div, который выглядит следующим образом.

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

как показано здесь:

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

однако при применении к кладочной сетке удаляются все элементы, даже те, которые имеют только одно изображение.

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

есть предложения?

Ответы [ 3 ]

3 голосов
/ 15 сентября 2011

В этом случае вы хотите выбрать все элементы, кроме первого, в общем списке элементов. .slice(startIndex) идеально подходит для этого сокращения набора, вот так:

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

Вот ваш обновленный jsfiddle , хотя я лично получаю 403s для всех изображений ... так что не видно, что он работает четко.

Если я неправильно понял, и вы хотите удалить все, кроме первого за .item_cont, вам понадобится нечто большее на стороне селектора, например :gt() ( больше индекса):

$(".item_cont a img:gt(0)").hide();
1 голос
/ 21 сентября 2011

Невозможно заставить все это работать, хотя они определенно работают в тестовых средах.Интересно, если его кладка создает проблему.

Обходной путь должен был использовать регулярное выражение в бэкэнде для вывода 2-го уровня изображений в скрытом div.

1 голос
/ 15 сентября 2011

Как то так?

var imgToKeep = $(".item_cont a img")[0];
$("img").each(function () {
    if (this !== imgToKeep) {
        $(this).hide();
    }
});
...