selectByID method

  1. @override
Node selectByID(
  1. String id,
  2. Node? target,
  3. Node? self,
  4. DOMTreeMap<Object>? treeMap,
  5. DOMContext<Object>? context,
)
override

Implementation

@override
Node selectByID(String id, Node? target, Node? self, DOMTreeMap? treeMap,
    DOMContext? context) {
  final selfElement = self?.asElementChecked;

  if (selfElement != null) {
    var sel = _selectByID(selfElement, id);
    if (sel != null) return sel;
  }

  final targetElement = target?.asElementChecked;

  if (targetElement != null) {
    var sel = _selectByID(targetElement, id);
    if (sel != null) return sel;
  }

  if (treeMap != null) {
    Object? rootElement = treeMap.rootElement;
    if (rootElement.asJSAny.isA<Element>()) {
      var element = rootElement as Element;
      var sel = _selectByID(element, id);
      if (sel != null) return sel;
    }
  }

  var sel = document.querySelector('#$id');
  sel ??= _selectByID(document.documentElement!, id);

  return sel!;
}