在这个例子中是否可以将样式应用于外部div,仅使用CSS以及存在类“错误”的内部div的事实?
<div>
<div class = "error">
</div>
</div>
我知道我可以在javascript中完成。
编辑
由于纯css不可能,这样做的效率真的很低吗?有更干净的方式吗?我不能轻易改变dom。对于背景,错误类会自动包裹在rails中的标签/输入中,但我想设置包含DIV的样式。
$(".error").parent().addClass("error-wrapper");
答案 0 :(得分:2)
仅使用CSS是不可能的。 无法在DOM树中找到父元素。
但是很容易使用像jQuery这样的东西。
$(".error").parent().addClass("example");
答案 1 :(得分:1)
使用JavaScript的问题是只有启用它的人才会看到外观变化。如果这只是对页面外观的一个小修改,那就去吧。禁用JavaScript的普通用户甚至不会注意到缺少样式。如果这是一个重大修改,如果禁用JavaScript,元素将在页面周围随机出现,那么这不是一个很好的选择。
最终,以这种方式使用JavaScript是一个坏习惯。你只是在该部门增加了另一个课程,而实际上最好在你的后端去做。让服务器做,而不是用户。这就像告诉客户去你的后备区找到一些物品的额外数量,而不仅仅是自己去存放货架。