Применить код если не содержит заданный родитель

Menro

web, seo, email, hack
Регистрация
27 Янв 2008
Сообщения
689
Реакции
138
Всем привет!
Есть вот такой кусочек кода:

Код:
jQuery('.category_description img, .product-description img').each(function () {
    jQuery(this).wrap(jQuery('<a/>', {
        href: $(this).attr('src'),
        class: "fancybox",
    }));
   
    jQuery('.category_description .fancybox, .product-description .fancybox').attr('data-fancybox', '');

Ищем все картинки в category_description и product-description, обрамляем их ссылкой с классом fancybox, затем ищем ссылки с классом fancybox и добавляет атрибут data-fancybox.

Теперь собственно вопрос:

Как мне отключить выполнение данного кода для тех картинок, которые уже имеют ссылку, то есть уже обрамлены в <a>?
Спасибо за помощь!

Пробовал получать родителя картинки с помощью Parent(), но потом не понимаю как проверить содержимое parent, мол если parent == 'a' то пусто, иначе выполняем код.
 
Код:
jQuery('.category_description img, .product-description img').each(function () {
if($( this ).parent().get( 0 ).tagName != 'a')
{    jQuery(this).wrap(jQuery('<a/>', {
        href: $(this).attr('src'),
        class: "fancybox",
    }));
jQuery('.category_description .fancybox, .product-description .fancybox').attr('data-fancybox', '');
}
}));
 
Последнее редактирование:
Чуть иначе, но суть ясна, большое спасибо!

Код:
jQuery(document).ready(function($){
   
jQuery('.category_description img, .product-description img').each(function () {
   
if(jQuery( this ).parent().get( 0 ).tagName != 'A')
{    jQuery(this).wrap(jQuery('<a/>', {
        href: $(this).attr('src'),
        class: "fancybox",
    }));
jQuery('.category_description .fancybox, .product-description .fancybox').attr('data-fancybox', '');
}

   
});
 
Назад
Сверху