macro_rules! elem {
($x:expr; $(($a:expr,$v:expr)),+; $($e:expr),+) => { ... };
($x:expr; $(($a:expr,$v:expr)),+; $($e:expr,)+) => { ... };
($x:expr; $(($a:expr,$v:expr)),+) => { ... };
($x:expr; $(($a:expr,$v:expr),)+) => { ... };
($x:expr; $($e:expr),+) => { ... };
($x:expr; $($e:expr,)+) => { ... };
($x:expr) => { ... };
}
Expand description
creates DOM Element
§Example
Tag, attribute lists, and child elements are separated by ‘;’
Attributes and child elements can be omitted.
use dom_renderer::*;
let div = elem!("div";
domtxt!("text"),
empty!("br"),
domtxt!("text"),
);
assert_eq!(r#"<div>text<br>text</div>"#, div.render());
let div = elem!("div";
("id", "id1"),
("class", "class1")
);
assert_eq!(r#"<div id="id1" class="class1"></div>"#, div.render());
let div = elem!("div";
("id", "id1"),
("class", "class1");
domtxt!("text"),
empty!("br"),
domtxt!("text"),
);
assert_eq!(r#"<div id="id1" class="class1">text<br>text</div>"#, div.render());