根据子元素更改元素CSS属性

时间:2012-01-29 01:09:23

标签: html css

  

可能重复:
  Complex CSS selector for parent of active child

这是我的标记:

<ol class="wp-paginate">
    <li><span class="title"></span></li>
    <li><span class="page current">1</span></li>
    <li><a href="http://localhost/page/2/" title="2" class="page">2</a></li>
    <li><a href="http://localhost/page/2/" class="next">»</a></li>
</ol>

我想更改background-position元素的li属性,该span元素具有类current的{​​{1}}子元素。在这种情况下,第二个列表项。

我确实认为自己精通CSS,但我真的想不出怎么做。也许没有办法,或者我只是一个大脑放屁。

谢谢!

3 个答案:

答案 0 :(得分:0)

你无法在CSS中做到这一点。你将不得不求助于Javascript。

如果您真的想在纯CSS中执行此操作,则必须将current类移到li上。


旁注:CSS4您可以执行以下操作:

.wp-paginate $li span.current { }

毋庸置疑,目前没有一个浏览器支持此功能。

答案 1 :(得分:0)

不,目前CSS无法实现。请参阅:Is there a CSS parent selector?

您需要编辑html输出,或通过JQuery执行选择。

答案 2 :(得分:0)

使用javascript几乎不可能。

使用jQuery

$("li").each(function() {
  if($(this).find("span.current").length > 0) {
    $(this).css("backgroundPostion", "top left");  
  }
});