setAttributes method
void
setAttributes(
- DOMElement domElement,
- Node element,
- DOMTreeMap<
Node> treeMap, { - bool preserveClass = false,
- bool preserveStyle = false,
override
Implementation
@override
void setAttributes(
DOMElement domElement, Node element, DOMTreeMap<Node> treeMap,
{bool preserveClass = false, bool preserveStyle = false}) {
if (!element.isA<Element>()) return;
var element2 = element as Element;
List<String>? attrsKeys;
List<String?>? attrsValues;
for (var attrName in domElement.attributesNames) {
var attrVal = resolveAttributeValue(
domElement, element, attrName, treeMap,
preserveClass: preserveClass, preserveStyle: preserveStyle);
var set = _setElementAttributeSpecial(element2, attrName, attrVal);
if (!set) {
List<String> keys;
List<String?> values;
if (attrsKeys == null) {
keys = attrsKeys = [];
values = attrsValues = [];
} else {
keys = attrsKeys;
values = attrsValues!;
}
keys.add(attrName);
values.add(attrVal);
}
}
if (attrsKeys != null) {
if (attrsKeys.length == 1) {
_setElementAttribute(element, attrsKeys[0], attrsValues![0]);
} else {
setAttributesFromKeyValueLists(element2, attrsKeys, attrsValues!);
}
}
}