JavaScript cheat sheet
From MoodleDocs
Locating DOM elements
// Get element by identifier.
let root = document.getElementById('uniqueidentifier');
// Get element within another element by attribute.
let widget = querySelector('[data-widget="widgetname"]');
// Find all elements within another element and do something with them.
let missingItems = root.querySelectorAll(':scope [data-region="itemname"].missing');
missingItems.forEach(item => {
window.console.log(item);
});
// Find the closest parent element matching the selector.
let region = widget.closest('[data-region]');
CSS classes
// Check if the element has a certain class.
if (e.target.classList.contains('classname')) {
// Add a new CSS class to the element.
e.target.classList.add('someclassname');
// Remove a CSS class from the element.
e.target.classList.remove('anotherclassname');
}