1

我有 3 个<a>标签,我想在 IE8 中找到最后一个孩子。不幸的是 IE8 不支持:last-child.

#breadcrumbs li:first-child div a {
  background: none !important;
  color: red !important;
}

顶部 css 到达第一个<a>,但我需要尝试到达第三个,我尝试使用下面的代码,但它不起作用。

#breadcrumbs li:first-child div a + li div a + li div a {
  background: none !important;
  color: red !important;
}


<ul id="breadcrumbs">
   <li><div><a>dfgdfg</a></div></li>
   <li><div><a>fdgdfgdf</a></div></li>
   <li><div><a>fdgdfgfd</a></div></li>
   <li><div><a>dgfdgdfg</a></div></li>
</ul>
4

3 回答 3

2

我猜,有点,但我建议:

#breadcrumbs li + li + li + li div a {
    /* css here */
}

JS 小提琴演示

当然,您可以简单地将类名应用于liora元素,然后根据该类名设置元素的样式。如果 JavaScript 可用,那么您当然可以在必要时使用 JavaScript 添加类:

var list = document.getElementById('breadcrumbs'),
    aElems = list.getElementsByTagName('a'),
    lastA = aElems[aElems.length - 1];
lastA.className = 'last';

JS 小提琴演示

于 2013-04-19T14:15:29.157 回答
1

ie9.js将使 IE8 及以下版本达到最新规范。包括这应该允许使用伪选择器,如:last-child

只需将其包含在您的页面上,例如:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
于 2013-04-19T14:34:19.203 回答
0

这是与 jQuery 结合使用的一个很好的技巧。

   /* Load this in your DOM */
   function last_child() {
      if ($.browser.msie && parseInt($.browser.version, 10) <= 8) {
        $('*:last-child').addClass('last-child');
      }
    }

只要穿上你的风格

li:last_child, li.last_child {

}

示例:http: //jsfiddle.net/2dcsH/

于 2013-04-19T14:27:57.240 回答