Вы можете использовать следующие элементы для выбора якорей с / без детского изображения
$('a.button:has(img)')
$('a.button:not(:has(img))')
У меня есть следующая разметка для кнопок (можно изменить, но я действительно не хочу):
<a href="#" class="button">
Button text
<img src="someimage.png" />
</a>
Это стиль с использованием CSS, чтобы стать довольно аккуратной кнопкой с иконкой на ней. Я использую jQuery для округления левой части кнопок:
$('a.button').corner('tl bl 10px');
Это работает как шарм. Теперь я хочу также поддерживать кнопки, у которых нет изображений, и поэтому они должны быть закруглены с обеих сторон. Простое округление всех краев для всех кнопок не будет работать, так как закругленные углы плагина рисуют поверх значков.
Итак, я специально ищу селектор, чтобы выбрать <a class="button">, чтобы иметь <img> -child элементы, а другой - <a class="button"> - элементы, у которых нет <img> -child элементы. Это возможно?
Я знаю, что могу изменить класс кнопки в зависимости от того, есть ли у нее изображение внутри, но это просто неправильно.
Чтобы выбрать элементы с классом «button», которые содержат элемент img
$('a.button:has(img)').corner('tl bl 10px');
Чтобы выбрать элементы с классом «button», которые не содержат элемент img
$('a.button:not(:has(img))').corner()
Вы могли бы, вероятно, связать эти утверждения в одном для краткости