将样式应用于包含某个类div的div

时间:2011-10-17 16:07:58

标签: jquery css

在这个例子中是否可以将样式应用于外部div,仅使用CSS以及存在类“错误”的内部div的事实?

<div>
  <div class = "error">
  </div>
</div>

我知道我可以在javascript中完成。

编辑

由于纯css不可能,这样做的效率真的很低吗?有更干净的方式吗?我不能轻易改变dom。对于背景,错误类会自动包裹在rails中的标签/输入中,但我想设置包含DIV的样式。

$(".error").parent().addClass("error-wrapper");

2 个答案:

答案 0 :(得分:2)

仅使用CSS是不可能的。 无法在DOM树中找到父元素。

但是很容易使用像jQuery这样的东西。

$(".error").parent().addClass("example");

答案 1 :(得分:1)

使用JavaScript的问题是只有启用它的人才会看到外观变化。如果这只是对页面外观的一个小修改,那就去吧。禁用JavaScript的普通用户甚至不会注意到缺少样式。如果这是一个重大修改,如果禁用JavaScript,元素将在页面周围随机出现,那么这不是一个很好的选择。

最终,以这种方式使用JavaScript是一个坏习惯。你只是在该部门增加了另一个课程,而实际上最好在你的后端去做。让服务器做,而不是用户。这就像告诉客户去你的后备区找到一些物品的额外数量,而不仅仅是自己去存放货架。