查找<a class="button"> elements that do not contain <img/></a>

时间:2008-11-19 09:27:19

标签: jquery html css

我有按钮的以下标记(可以更改,但我真的不想):

<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元素。这可能吗?

我知道我可以更改按钮的类别,具体取决于它内部是否有图像,但这感觉不对。

2 个答案:

答案 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() 

为简洁起见,您可能会将这些陈述链接到一个