Gera11
@Gera11

Как сделать добавление атрибута только определенным ссылкам с помощью jquery?

Есть у меня вот такая строка:
$("#gg99 a").attr("data-fancybox" "gallery");
который в блоке gg99 задает всем ссылкам атрибут data-fancybox.
Но как сделать так, чтобы он задавал атрибут только в том случае, если в этой ссылке будет картинка (img тег) ? а остальные ссылки без картинок он не трогал?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
@Tanyel
$( "#gg99 a" ).each(function( index, el ) { // перебираем все ссылки
		if ($(el).find('img').length) { // проверяем есть ли внутри тег img
			$(el).attr("data-fancybox","gallery"); // добавляем элементу атрибут
		}
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
joeberetta
@joeberetta Куратор тега JavaScript
Читай: https://epdf.pub/google-for-dummies.html
Не обязательно делать через оquery. Вот однострочник в js
[...document.querySelectorAll('#gg99 a > img')].map(img => img.parentNode.setAttribute('data-fancybox', 'gallery'))
Ответ написан
@gh0sty
Веб-разработчик. Пишу под Python Django.
$("#gg99 a").each(function() {
    if ($(this).find('img').length) {
        $(this).data('fancybox', 'gallery');
    }
});


Если ты о "внутри" по DOM, а не по url.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы