setAttribute method

DOMElement setAttribute(
  1. String name,
  2. Object? value
)

Sets attribute for name, parsing value.

Implementation

DOMElement setAttribute(String name, Object? value) {
  name = name.toLowerCase().trim();

  if (_attributes != null) {
    var prevAttribute = _attributes![name];
    if (prevAttribute != null) {
      // A boolean attribute's value can change kind
      // (`hidden` -> `hidden="until-found"`): a new attribute.
      if (value != null && DOMAttribute.isBooleanAttribute(name)) {
        var attribute = DOMAttribute.from(name, value);
        if (attribute != null) {
          putDOMAttribute(attribute);
          return this;
        }
      }
      prevAttribute.setValue(value);
      return this;
    }
  }

  var attribute = DOMAttribute.from(name, value);

  if (attribute != null) {
    putDOMAttribute(attribute);
  }

  return this;
}