我有按钮的以下标记(可以更改,但我真的不想):
<a href="#" class="button">
Button text
<img src="someimage.png" />
</a>
这是使用CSS设计成一个相当整洁的按钮,上面有一个图标。我使用jQuery来绕过按钮的最左边:
$('a.button').corner('tl bl 10px');
这就像一个魅力。现在我也想支持没有图像的按钮,因此应该在两侧都是圆形的。简单地舍入所有按钮的所有边缘都不起作用,因为圆角插件在图标上方绘制。
所以,我特意寻找一个选择器来选择&lt; a class =“button”&gt;确实有&lt; img&gt; -child元素,另一个选择&lt; a class =“button”&gt; -elements没有&lt; img&gt; -child元素。这可能吗?
我知道我可以更改按钮的类别,具体取决于它内部是否有图像,但这感觉不对。
答案 0 :(得分:12)
您可以使用以下选项选择包含/不包含子图像的锚点
$('a.button:has(img)')
$('a.button:not(:has(img))')
答案 1 :(得分:2)
选择包含img元素的“按钮”类的元素
$('a.button:has(img)').corner('tl bl 10px');
选择不包含img元素的“按钮”类的元素
$('a.button:not(:has(img))').corner()
为简洁起见,您可能会将这些陈述链接到一个