CSS选择器 - 仅在DD后跟目标DT

时间:2010-09-15 17:18:29

标签: css css-selectors

我正在尝试仅在<dt>后跟<dd>。我知道有一个前面的选择器,但我找不到一个定位<dt>的CSS方法。我知道这可以通过JavaScript实现,但如果可能的话,宁愿将它保留给CSS选择器。

这不必在IE6或以下版本中运行。

3 个答案:

答案 0 :(得分:1)

我想也许dt~dd会起作用,但实际上它的功能类似于+,只是不那么具体。

在查看W3C css选择器文档http://www.w3.org/TR/CSS2/selector.html后,我可以非常自信地说,只有CSS才能实现您想要做的事情。它也缺少获取父选择器的方法。也许在CSS4 ......

答案 1 :(得分:0)

我正在寻找类似问题的类似解决方案。在我的情况下,我想选择dd组中的最后一个dd,因此dd之后的所有dtdl的第一个孩子(因为无论出于何种原因,这是允许的)。

我还没有找到纯CSS解决方案。我正在玩弄多个规则,以便所有剩下的规则(在你的情况下)都是“空”dt,但没有全部包含。

如果我开始工作,我会告诉你的。否则,类似于选择器的解决方案(从而使任何其他选择器语法保持不变)是jquery非css :has()选择器。所以在你的情况下:

$("dt:not(:has(+dd))").addClass("empty_def");
$("dt:has(+dd)").addClass("non_empty_def");

答案 2 :(得分:-3)

你想要兄弟选择器:

DT + DD { color : #00f; } 

在IE6中不起作用,但在其他浏览器中起作用。