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!);
}
}
}