0

我有一个一开始是空的列表,然后用 JavaScript 动态填充。现在我希望列表只有在不为空时才有边框,但:emptyparent选择器不匹配。

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

<ul id="cepage_list" />

它在用户以上面的表单输入时填充(添加lis),这工作正常。
现在我在 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's 时,什么都没有(希望:parent选择器适用)
  • 清除列表(.empty()使用 jQuery),好的。

但是为什么列表下:parent有child时伪类不识别呢?li

(在 Chrome 和 Firefox 14 上测试)

4

2 回答 2

5

<ul>不是自闭合标签。将其更改为:

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

而且,:parent不是真正的伪类。你的意思是:not(:empty)

于 2012-08-31T17:49:25.623 回答
2

没有关于:parent您将其称为的选择器。

这是有关父选择器的更多信息的链接。

于 2012-08-31T18:01:32.610 回答