为什么CSS选择器:父不工作?

时间:2012-08-31 17:48:25

标签: css css-selectors

我有一个最初为空的列表,并使用JavaScript动态填充。现在我希望列表仅在非空时才有边框,但:emptyparent选择器不匹配。

html.erb文件中,列表声明为:

<ul id="cepage_list" />

在上面的表单中填写(添加li s)用户输入,这正常工作。
现在我在CSS中有这个:

ul#cepage_list
{
  list-style-type: none;
  margin: 0px;
  padding-left:0px;
  background-color: white;     
}
ul#cepage_list:parent
{
  border: 1px dotted blue;
}
ul#cepage_list:empty
{
  border: 1px dotted red;
}

默认样式正确应用,但具有伪类选择器的样式非常适用。这是行为:

  • 在页面加载时,红色边框适用,没关系
  • 在添加li时,没有(希望:parent选择器适用)
  • 清除列表(使用jQuery .empty()),确定。

但是,当列表中有子:parent时,为什么li伪类无法识别?

(在Chrome和Firefox 14上测试)

2 个答案:

答案 0 :(得分:5)

<ul>不是自动关闭标记。将其更改为:

<ul id="cepage_list"></ul>

此外,:parent不是真正的伪类。您的意思是:not(:empty)吗?

答案 1 :(得分:2)

没有:parent选择器,您将其称为。{/ p>

以下是more about parent selectors的链接。