只有子元素存在时,我才能使用css选择器吗?
考虑:
<div> <ul> <li></li> </ul> </div>
我只想display:none
在div没有至少一个子<li>
元素的情况下应用div 。
我可以使用的任何选择器吗?
甚至文本节点也将导致父节点不被认为是空的,因此DIV中的UL将阻止DIV被匹配。
<h1>Original</h1>
<div><ul><li>An item</li></ul></div>
<h1>No Children - Match</h1>
<div></div>
<h1>Has a Child - No Match</h1>
<div><ul></ul></div>
<h1>Has Text - No Match</h1>
<div>text</div>
DIV {
background-color: red;
height: 20px;
}
DIV:empty {
background-color: green;
}
如果您执行脚本路线:
// pure JS solution
var divs = document.getElementsByTagName("div");
for( var i = 0; i < divs.length; i++ ){
if( divs[i].childNodes.length == 0 ){ // or whatever condition makes sense
divs[i].style.display = "none";
}
}
当然,jQuery使这样的任务变得更容易,但是这一任务不足以包含整个库。
问题内容: 如何选择锚元素的直接父元素? 例如,我的CSS将是这样的: 显然,可以使用JavaScript进行此操作,但是我希望CSS Level 2本身具有某种解决方法。 我正在尝试设置样式的菜单已由CMS弹出,因此我无法将活动元素移动到元素…(除非我将菜单创建模块作为主题,但我不希望这样做)。 有任何想法吗? 问题答案: 当前无法在CSS中选择元素的父级。 如果有办法,可以在当前的CSS选择器
问题内容: CSS中是否有类似!=(不相等)的内容?例如,我有以下代码: 但是对于某些输入,我需要使此无效。我想通过在输入标签中添加“重置”类来做到这一点,例如 然后只需从CSS跳过此标签即可。 我该怎么做? 我能看到的唯一方法是在输入标签中添加一些类,然后按如下所示重写CSS: 问题答案: 在CSS3中,您可以使用过滤器, 但是并不是所有的浏览器都完全支持CSS3,因此请确保您知道自己正在做什么
问题内容: 我知道有一个选择器。我似乎找不到选择器的使用或文档。有一个吗? 问题答案: CSS中没有伪类。 该动态伪类,像其他伪类,事实上所有其他选择,代表_国家_ ; 它们不代表文档树中的 事件 或 状态之间的转换 。举个例子:伪类代表了一个 被 关注的元素。它不代表刚刚_获得_关注的元素,也不存在伪类来代表刚刚 失去 关注的元素。 同样,这适用于伪类。虽然它表示具有指示设备在其上的元件,既不存
问题内容: 我想将CSS规则应用于其类之一与指定前缀匹配的任何元素。 例如,我想要一个规则,该规则将适用于以(A和C,但以下代码段中不包含B)开头的类的div : 某种组合: 和 在CSS 2.1下可以使用吗?它可以在任何CSS规范下执行吗? 注意:我知道我可以使用jQuery来模拟。 问题答案: 这不是可行的与CSS2.1,但它有可能与CSS3属性字符串匹配选择(这 是 在IE7 +支持): 注
问题内容: CSS中的星形选择器是否会影响页面渲染性能? 有使用它的警告吗? 问题答案: 在表演方面,史蒂夫·索德斯就是 其中的一员 : CSS选择器的性能影响 简化CSS选择器 报告之一的无耻报价: 优化CSS选择器的关键是着眼于 最右边的选择器 ,也称为关键选择器(巧合?)。这是一个更昂贵的选择器:A.class0007 * {}。尽管此选择器看起来更简单,但匹配浏览器的成本更高。因为 浏览器
问题内容: 在以下HTML中,我想在图像悬停时将悬停效果应用于标题。是否有CSS选择器可以执行此操作? 的HTML 问题答案: 更新:主题说明符似乎已从Selectors Level 4规范的 编辑者草案(2014年5月6日)中 删除。这样就无法使用CSS来实现这一目标。 选择器级别4引入了主题说明符,该说明符允许: 选择。 当前不存在浏览器支持AFAIK。 您可以在JavaScript中对其进行