Как определить, является ли изображение гиперссылкой?

0

У меня есть класс css, который применяется ко всем ссылкам в div с классом "linkroll":

var selector = '.linkroll a';

Я пытаюсь помешать добавлению этого класса в любые гиперссылки в div. Как мне это сделать?

Например, я бы не хотел, чтобы этот класс применялся:

<div class="linkroll"><a href="#somelink"><img src="someimg.jpg"></a></div>

var selector = '.linkroll a';
// if selector is not image, then do something...
Теги:
hyperlink

3 ответа

1
Лучший ответ

CSS может только спуститься вниз по дереву DOM, поэтому вы не можете добавить класс на основе дочерних элементов, только для родителей. Однако вы можете использовать jQuery для этого с помощью filter():

$('.linkroll a').filter(function() {
    return $(this).children('img').length == 0;
}).addClass('foo');

Пример скрипки

0

У меня есть класс css, который применяется ко всем ссылкам в div с классом "linkroll"

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

Демо-версия

$('.linkroll a > img').closest('div').removeClass('linkroll');
0

$ ('. linkroll a'). filter (function() {

return $(this).attr('href');

.}) Родитель() removeClass ( 'linkroll').

Пример скрипки

Ещё вопросы

Сообщество Overcoder
Наверх
Меню