setAttribute method
void
setAttribute(
- Node element,
- String attrName,
- String? attrVal
)
override
Implementation
@override
void setAttribute(Node element, String attrName, String? attrVal) {
if (!element.isA<Element>()) return;
var element2 = element as Element;
switch (attrName) {
case 'selected':
{
if (element2.isA<HTMLOptionElement>()) {
(element2 as HTMLOptionElement).selected =
_parseAttributeBoolValue(attrVal);
} else {
element2.setAttribute(attrName, attrVal!);
}
break;
}
case 'multiple':
{
if (element2.isA<HTMLSelectElement>()) {
(element2 as HTMLSelectElement).multiple =
_parseAttributeBoolValue(attrVal);
} else if (element2.isA<HTMLInputElement>()) {
(element2 as HTMLInputElement).multiple =
_parseAttributeBoolValue(attrVal);
} else {
element2.setAttribute(attrName, attrVal!);
}
break;
}
case 'hidden':
{
if (element2.isA<HTMLElement>()) {
(element2 as HTMLElement).hidden =
_parseAttributeBoolValue(attrVal).toJS;
}
break;
}
case 'inert':
{
if (element2.isA<HTMLElement>()) {
(element2 as HTMLElement).inert = _parseAttributeBoolValue(attrVal);
}
break;
}
default:
{
if (attrVal == null) {
element2.removeAttribute(attrName);
} else {
switch (attrName) {
case 'id':
{
element2.id = attrVal;
break;
}
case 'class':
{
element2.className = attrVal;
break;
}
case 'style':
{
element2.style?.cssText = attrVal;
break;
}
default:
{
element2.setAttribute(attrName, attrVal);
break;
}
}
}
break;
}
}
}