为什么:empty
返回链接和图像?
我认为通过 :empty 选择器返回图像和链接没有任何意义,因为只有这些标签的属性很重要。
这个链接说 :empty 伪类表示一个根本没有子元素的元素。
这是最新标准中定义的方式吗?
如果:empty 伪类表示一个根本没有子元素的元素并且选择:empty
器不表示特定img
元素,那么该特定img
元素至少有一个子元素。
这是简单的演绎推理。
根据 HTML 标准为始终为空的元素添加例外会使该规则更加复杂。
:empty
正如您所说,确实选择了所有没有任何子元素的元素(实际上是所有没有任何内容的元素)。
我想你是在问“为什么需要选择<link>
和<image>
”。
好吧,首先,:empty
它只是一个按一定规则选择的选择器。如果:empty
省略一些元素而只显示一些元素,会不会更令人困惑?使用内置异常会不一致且难以处理。
(话虽如此,我仍然会关注您对为什么<link>
还选择该元素的问题。上述推理在某种程度上仍然适用,但显然<link>
不是预期的选择......)