31 lines
1.2 KiB
JavaScript
31 lines
1.2 KiB
JavaScript
AttributeValueTransforms = {
|
|
lowercase: function(value) { return value.toLowerCase(); },
|
|
uppercase: function(value) { return value.toUpperCase(); },
|
|
alternate_case: function(value) {
|
|
var transformedValue = "";
|
|
for (var i = 0; i < value.length; i++) {
|
|
transformedValue += i % 2 ?
|
|
value.charAt(i).toLowerCase() :
|
|
value.charAt(i).toUpperCase();
|
|
}
|
|
return transformedValue;
|
|
},
|
|
// TODO: Should we perform this transform too?
|
|
// https://github.com/mathml-refresh/mathml/issues/122
|
|
// add_leading_and_trimming_whitespace: function(value) {
|
|
// var space = "\0020\0009\000A\000D";
|
|
// return `${space}${space}${value}${space}${space}`;
|
|
// },
|
|
};
|
|
|
|
function TransformAttributeValues(transform, attributeNames) {
|
|
if (typeof attributeNames === "string")
|
|
attributeNames = [attributeNames];
|
|
attributeNames.forEach(name => {
|
|
Array.from(document.querySelectorAll(`[${name}]`)).forEach(element => {
|
|
var value = element.getAttribute(name);
|
|
var transformedValue = AttributeValueTransforms[transform](value);
|
|
element.setAttribute(name, transformedValue);
|
|
});
|
|
});
|
|
}
|