我刚刚开始使用 OPA,我想解析 DOM,但我只能通过 id 获取元素,例如 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 }.
最佳答案
第一:
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")
关于opa - 如何在OPA中解析DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218672/