Найдите элементы <a class="button">, не содержащие <img>

У меня есть следующая разметка для кнопок (можно менять, но очень не хочу):

<a href = "#" class = "button">
  Button text
  <img src = "someimage.png" />
</a>

Это оформлено с использованием CSS, чтобы стать довольно изящной кнопкой со значком на ней. Я использую jQuery, чтобы округлить крайнюю левую часть кнопок:

$('a.button').corner('tl bl 10px');

Это работает как шарм. Теперь я хочу также поддерживать кнопки, у которых нет изображений, и поэтому они должны быть закруглены с обеих сторон. Простое закругление всех краев для всех кнопок не сработает, поскольку плагин закругленных углов рисует поверх значков.

Итак, я специально ищу селектор для выбора <a class = "button">, который имеет дочерние элементы <img>, а другой - для выбора элементов <a class = "button">, у которых нет дочерних элементов <img>. Это возможно?

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

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
2
0
2 561
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

$('a.button:has(img)')

$('a.button:not(:has(img))')

Удивительно, что мне удалось пропустить это в документации. ТАК делает меня ленивым. Спасибо.

Vegard Larsen 19.11.2008 12:40

Чтобы выбрать элементы с классом 'button', которые содержат элемент img

$('a.button:has(img)').corner('tl bl 10px');

Чтобы выбрать элементы с классом 'button', которые не содержат элемент img

$('a.button:not(:has(img))').corner() 

Вероятно, вы могли бы связать эти утверждения в одно для краткости

Другие вопросы по теме