INNER CODE UNIT · Rust

get_first_element_by_class_name

FooIbar/EhViewer · app/src/main/rust/src/lib.rs:28

fn get_first_element_by_class_name<'a>(
    node: &'a Node,
    parser: &'a Parser,
    id: &str,
) -> Option<&'a Node<'a>> {
    let handle = node.find_node(parser, &mut |n| match n.as_tag() {
        None => false,
        Some(tag) => tag.attributes().is_class_member(id),
    })?;
    handle.get(parser)
}

// tl does not support selecting child elements
// Workaround for https://github.com/y21/tl/issues/22
fn select_first<'a>(tag: &'a HTMLTag, parser: &'a Parser, id: &str) -> Option<&'a HTMLTag<'a>> {
    for n in tag.children().top().iter() {
        let tag = n.get(parser).and_then(Node::as_tag);
        if tag.is_some_and(|t| t.name() == id) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…