:contains()
no se iba a ser un selector CSS3 (thanks T.J. Crowder for the link), pero no lo hacen, muy probablemente debido a la forma en que funciona tiende a conducir a un rendimiento grave y sobre-selección de temas. Por ejemplo, si un elemento E
coincide con :contains()
para un argumento de cadena dado, entonces todos sus antecesores también coincidirían; usarlo con un selector universal daría lugar a resultados inesperados con ciertas propiedades de estilo, además de ser lento para el navegador.
No hay otro selector CSS que sirva para un propósito como :contains()
. Por lo que tendrá que encontrar alguna otra manera, ya sea modificando el código HTML o incluso mediante el uso de jQuery de :contains()
, para lograr el efecto deseado:
Seleccionar un elemento h3
si es el primer hijo de su padre
y su texto contiene la letra 'a'.
Para los usuarios de jQuery y el selenio RC::contains()
se implementa en el motor de selección utilizado por chisporroteo jQuery, que también se utiliza en Selenio RC (pero no selenio WebDriver). Funciona como se describe en in this decade-old revision of the CSS3 spec, pero nuevamente, debido a la forma en que la especificación lo describe, debe usarlo con cuidado o puede llevar a selecciones inesperadas.
Como nota final, h3:nth-child(1)
puede reemplazarse por h3:first-child
, que como selector de CSS2 tiene mejor compatibilidad con el navegador.
hecho. Iba a definirse (incluso hay una sección en la [especificación CSS3] (http://www.w3.org/TR/2009/PR-css3-selectors-20091215/), Sección 6.6.6), pero no fue así. –
'Esta sección se dejó en blanco intencionalmente. (Esta sección definió previamente a: contiene() pseudo-clase.) '¿Eso significa que el W3C tomó': contains' de la especificación CSS3? http://www.w3.org/TR/css3-selectors/ –
@ T.J. Crowder Eso es lo que necesitaba! Gracias –