html - child - css selector selenium
Selector de CSS con perĂodo en ID (2)
Clásico. Justo después de excavar todas las especificaciones para escribir la pregunta, la leí un poco más y descubrí que hay un personaje de escape. Nunca lo he necesitado antes, pero la especificación de CSS permite la barra invertida (/) de escape como la mayoría de los idiomas. ¿Que sabes?
Entonces en mi ejemplo, la siguiente regla coincidiría:
#some/.id { color: #f00; }
La especificación de HTML permite períodos (.) En una identificación:
<img id="some.id" />
Sin embargo, usar una regla de selector de ID de CSS no coincidirá correctamente:
#some.id { color: #f00; }
La especificación de CSS para selectores de ID no menciona este caso. Entonces, ¿supongo que está usando la combinación de un nombre de etiqueta y un selector de clase ? Por ejemplo, una regla de CSS de a.className
se aplicaría a todas las etiquetas de anclaje ( <a>
) con un nombre de clase de className
, como <a class="className"></a>
.
¿Es posible tener una regla de archivo CSS externo que haga referencia a un elemento HTML por su id que tiene un punto en él?
Espero que no, ya que la especificación de CSS especifica que un " identificador " de CSS no incluye el período como un carácter válido. Entonces, ¿es esto una falta de coincidencia fundamental entre las especificaciones HTML y CSS? ¿Mi única alternativa es usar un tipo diferente de selección de CSS? ¿Alguien puede ser más inteligente que yo confirmo o niego esto?
(Quitaría el período del atributo de identificación HTML para simplificar las cosas, pero es una identificación generada por el sistema, por lo que no tengo la capacidad de cambiarla en este caso).
También puedes usar img [id = some.id]]
Más información aquí: http://www.w3.org/TR/selectors/#attribute-selectors