¿Cómo analizar DOM en OPA?

Acabo de comenzar con OPA y quiero analizar un DOM, pero solo puedo obtener elementos por la identificación, con Dom.get_value(#an_id) por ejemplo. ¿Qué pasa si tengo un diseño como el del ejemplo de chat en los tutoriales?

    <div class="line">
      <div class="user">{x.author}:</div>
      <div class="message">{x.text}</div>
    </div>

¿Cómo puedo obtener el texto que está en el mensaje div? Probé Dom.get_value (Dom.select_class ("línea"). Select_class ("mensaje")), pero aparece este error:

    Error
    File "chat.opa", line 29, characters 49-62, (29:49-29:62 | 714-727)
    Record expression has type dom but field access expected it to have type
    { select_class: 'a; 'r.a }.

preguntado el 28 de agosto de 11 a las 02:08

1 Respuestas

Primero :

Dom.get_value solo funciona en input or textarea las etiquetas.

En tu caso deberías llamar Dom.get_text en su div.

Sin embargo, si desea obtener el contenido sin preguntarse si tiene un área de entrada / texto o no, simplemente use Dom.get_content

Además, no puedes hacer:

Dom.select_class ("línea"). Select_class ("mensaje"))

Tu puedes hacer :

Dom.select_class ("mensaje")

or

Dom.select_raw (". Línea> .message")

Respondido 28 ago 11, 15:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.