child(1):contains('a') work?
I check this selector:
h3:nth-child(1):contains('a')
selector doesn't work?
I check this in firefinder and does return nothing (not info that there is zero elements)
Then check this:
h3:nth-child(1)
and it returns h3, so selector is almost good, but something with this(h3 has text 'a') text goes wrong.
:contains()
is not was going to be a CSS3 selector (thanks TJ Crowder for the link), but it didn't make it, most likely because the way it works tends to lead to severe performance and over-selection issues. For example, if an element E
matches :contains()
for a given string argument, then all of its ancestors would also match; using it with a universal selector would lead to unexpected results with certain style properties, on top of being slow for the browser.
There is no other CSS selector that serves a purpose like :contains()
. So you'll have to find some other way, either by modifying your HTML or even by using jQuery's :contains()
, to achieve the effect you want:
Select an h3
element
if it is the first child of its parent
and its text contains the letter 'a'.
For jQuery and Selenium RC users: :contains()
is implemented in the Sizzle selector engine used by jQuery, which is also used in Selenium RC (but not Selenium WebDriver). It works as described in this decade-old revision of the CSS3 spec, but again, due to how the spec describes it, you need to use it with care or it may lead to unexpected selections.
On a final note, h3:nth-child(1)
can be replaced with h3:first-child
, which as a CSS2 selector has better browser support.
If you're trying to use :contains(a)
to find an anchor tag (rather than the letter A), you could use:
h3:nth-child(1) a
or
h3:first-child a
链接地址: http://www.djcxy.com/p/63960.html
上一篇: Segmentation PHP中的错误错误,使用SOAP连接到SalesForce
下一篇: 孩子(1):包含('a')的工作?