Удалите imgs из контейнера, если контейнер имеет div с определенным классом - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть div с imgs в них.Тем не менее, некоторые из этих div'ов также имеют span как первый элемент внутри div'а.Этот промежуток представляет «метку» для imgs в этом div.

У меня есть скрипт, в котором, если я удерживаю alt и нажимаю на этот «пакетный» div, он будет удален.Однако я не хочу удалять пакеты, в которых есть метки.Для них достаточно просто удалить imgs изнутри.

У меня были проблемы с установлением этой логики.Кроме того, чтобы передать возможность удаления, нажав и удерживая клавишу alt, я попытался изменить свойство css на некоторые цвета в качестве подсказки.Это тоже не работает.

$(".Card_Packet").click(function (e) {
    if (e.altKey) {

        $(this).live('hover', function(event) {
            if (event.type === 'mouseover') {
                $(this).css({
                    'border-color': 'red'
                });
            }
            else {
                $(this).css({
                    'border-color':'black'
                });
            }
        });

        if ($(this).find('Sect_Header')) { //if the div contains the label, remove only the images. Otherwise, remove the whole thing.
            $(this).remove('img');
        } else {
            $(this).remove();
        }
    }
});

Я уверен, что это как-то связано с моим порядком операций.

Ответы [ 3 ]

0 голосов
/ 12 апреля 2011
if($(this).children(":first").is("span")){ //If the div contains the label, remove only the images..
   $(this).find('img').remove();
}else{ //Otherwise remove packet div
   $(this).remove();
}
0 голосов
/ 12 апреля 2011

То, что вы делаете, удалит весь div. Просто сделайте это, чтобы удалить только изображения из любого div:

$('select-your-div img').remove();
0 голосов
/ 12 апреля 2011

вот рабочий код:

$(".Card_Packet").click(function (e) {

    if (e.altKey) {

        if ($('.Sect_Header', this).length > 0) { 
            //if the div contains the label, remove only the images. 
            //   Otherwise, remove the whole thing.

            $('img', this).remove(); //removes the images

        } else {

            $(this).remove(); //removes the whole thing

        }

    }

});

скрипта: http://jsfiddle.net/maniator/xwmwD/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...