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> 标签的上下文中,这意味着某些特殊元素,如 <caption>,必须在 <table> 元素的范围内进行解析,这些元素将被丢弃。使用 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;
}