elementMatchesAttribute function

bool elementMatchesAttribute(
  1. Element element,
  2. String attributeName,
  3. dynamic attributeValue
)

Returns true if element matches attributeName and attributeValue.

Implementation

bool elementMatchesAttribute(
    Element element, String attributeName, dynamic attributeValue) {
  var value = element.getAttribute(attributeName);
  if (value == attributeValue) return true;
  if (value == null || attributeValue == null) return false;

  if (attributeValue is String) {
    return value.trim() == attributeValue.trim();
  } else if (attributeValue is RegExp) {
    return attributeValue.hasMatch(value);
  } else if (attributeValue is MatchesValue) {
    return attributeValue(value);
  }

  return false;
}