Как разобрать DOM в OPA? - PullRequest
       3

Как разобрать DOM в OPA?

2 голосов
/ 28 августа 2011

Я только что начал с OPA и хочу проанализировать DOM, но я могу получить элементы только по идентификатору, например, Dom.get_value(#an_id).Что делать, если у меня есть макет, подобный тому, который приведен в примере чата на уроках:

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

Как я могу получить текст, который находится в div сообщения?Я пробовал Dom.get_value (Dom.select_class ("line"). Select_class ("message")), но я получаю эту ошибку:

    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 }.

1 Ответ

4 голосов
/ 28 августа 2011

Первое:

Dom.get_value работает только на тегах input или textarea.

В вашем случае вам следует позвонить Dom.get_text на вашем div.

Однако, если вы хотите получить контент, не задаваясь вопросом, есть ли у вас ввод / текстовое поле или нет, просто используйте Dom.get_content

Более того, вы не можете сделать:

Dom.select_class ("line"). Select_class ("message"))

Вы можете сделать:

Dom.select_class ("message")

или

Dom.select_raw (". Line> .message")

...