Element.html 构造函数

Element.html(
  1. String? html, {
  2. NodeValidator? validator,
  3. NodeTreeSanitizer? treeSanitizer,
})

从有效的 HTML 片段创建 HTML 元素。

var element = new Element.html('<div class="foo">content</div>');

HTML 片段应只包含一个根元素,任何前导或尾随的文本节点将被删除。

HTML 片段被解析为如果它发生在 <body> 标签的上下文中,这意味着必须解析在 <table> 元素作用域内的特殊元素,如 <caption> 将会被丢弃。使用 createFragment 来解析上下文 HTML 片段。

除非提供验证器,否则将执行默认验证并删除所有可脚本元素和属性。

另请参阅

实现

factory Element.html(String? html,
    {NodeValidator? validator, NodeTreeSanitizer? treeSanitizer}) {
  var fragment = document.body!.createFragment(html,
      validator: validator, treeSanitizer: treeSanitizer);

  return fragment.nodes.where((e) => e is Element).single as Element;
}