1

我想使用 css 选择器option从带有 IE 驱动程序的元素中选择第二个或第 n 个元素。select

我尝试了以下但它不起作用。

选项:第n个孩子(1)

如果我提供一个值,它会起作用,但我并不总是知道该值,所以我喜欢由 nth-child 选择。

选项[值='1']

我在 IE8 上遇到的错误是 javascript 错误:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; MS-RTC LM 8; .NET4.0E; Tablet PC 2.0)
Timestamp: Wed, 26 Sep 2012 23:34:46 UTC

Message: Invalid argument.
Line: 30
Char: 96
Code: 0
URI: http://blah/foo.aspx
4

1 回答 1

1

这是完全可以预料的。Internet Explorer 8 支持querySelector()and querySelectorAll(),因此 IE 驱动程序依赖于浏览器对 CSS 选择器的本机实现,这意味着您受限于浏览器提供的任何级别的 CSS 选择器支持。在 IE 8 的情况下,浏览器不支持 CSS3 选择器,因此 IE 驱动程序将无法使用任何 CSS3 选择器。当然,nth-child()是 CSS3 规范的一部分,所以使用 IE 8 的 IE 驱动程序将不支持nth-child(). 至于哪些浏览器支持哪些选择器,在quirksmode.org上有一个很好的参考资料,其中提供了每个选择器以及支持它们的浏览器的一个很好的总结。

于 2012-09-26T23:43:18.037 回答