孩子(1):包含('a')的工作?

我检查这个选择器:

h3:nth-child(1):contains('a') 

选择器不起作用?

我在firefinder中检查了这一点,并没有返回任何东西(不包含零元素的信息)

然后检查这个:

h3:nth-child(1)

并且它返回h3,所以选择器几乎是好的,但是这个(h3有文本“a”)的文本出错了。


:contains()不会成为CSS3选择器(感谢TJ Crowder的链接),但它并没有成功,很可能是因为它的工作方式往往导致严重的性能和过度选择问题。 例如,如果一个元素E与给定的字符串参数匹配:contains() ,那么它的所有祖先也会匹配; 在通用选择器中使用它会导致某些样式属性出现意想不到的结果,除此之外浏览器速度较慢。

没有其他的CSS选择器可以用作像:contains() 。 因此,您必须通过修改HTML或甚至使用jQuery's :contains()来找到其他方法,以实现所需的效果:

选择一个h3元素
如果它是其父母的第一个孩子
其文本包含字母'a'。

对于jQuery和Selenium RC用户:: :contains()在jQuery使用的Sizzle选择器引擎中实现,它也用于Selenium RC(但不包括Selenium WebDriver)。 它的工作原理与CSS3规范的十年历史修订版中描述的一样,但同样由于规范描述的原因,您需要小心使用它,否则可能会导致意外的选择。

最后, h3:nth-child(1)可以替换为h3:first-child ,它作为CSS2选择器有更好的浏览器支持。


如果您尝试使用:contains(a)来查找锚标记(而不是字母A),则可以使用:

h3:nth-child(1) a

要么

h3:first-child a
链接地址: http://www.djcxy.com/p/63959.html

上一篇: child(1):contains('a') work?

下一篇: pdf cover page stops rest of PDF generation