#html #query #css-selectors #selector #css

statue

更简单的方法查询静态HTML页面的选择器

14个版本

0.3.1 2024年5月21日
0.3.0 2023年9月18日
0.2.0 2023年9月17日
0.1.10 2023年9月17日
0.1.8 2023年1月12日

1783 in Web编程

Download history 145/week @ 2024-05-17 16/week @ 2024-05-24 11/week @ 2024-07-05

904 每月下载量

MIT/Apache

50KB
1K SLoC

Statue

更简单的方法查询静态HTML页面的选择器。

Crates.io Docs.rs License

用户指南

避免编写

let window = web_sys::window().unwrap();
let document = window.document().unwrap();

let work_area = document
    .query_selector("#work-area")
    .unwrap()
    .unwrap()
    .dyn_into::<HtmlDivElement>()
    .unwrap();

let layer_list_div = document
    .query_selector("#layer-list")
    .unwrap()
    .unwrap()
    .dyn_into::<HtmlDivElement>()
    .unwrap();

let save_files_btn: Rc<HtmlButtonElement> = document
    .query_selector("#save-files")
    .unwrap()
    .unwrap()
    .dyn_into::<HtmlButtonElement>()
    .unwrap()
    .into();

并写

initialize_elements!(
    html: "index.html", elements: {
        let work_area = Single("#work-area");
        let layer_list_div = Single("#layer-list");   
        let save_files_btn = Single("#save-files", RcT);
    }
);

代替。

如果您想获取 Rc<Window>Rc<Documemt>,或者之后隐藏它们,可以通过提供可选的 opts 参数来实现

initialize_elements!(
    html: "index.html",
    elements: {
        let work_area = Single("#work-area");
        let layer_list_div = Single("#layer-list");   
        let save_files_btn = Single("#save-files", RcT);
    },
    opts: {
        window_ret_ty: Some(RcT),
        document_ret_ty: None
    }
);

如果您想调用 Document::query_selector_all,您可以使用 Multi 选择器查询,尽管这个功能还没有经过彻底测试。

许可证

根据您的选择,许可为Apache许可证第2.0版MIT许可证
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在本crate中的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~145KB