I want to see how each of these are used on the below code.
I realized you don’t just place one in place of another, each one is set up differently.
while (el.nodeName !== "HTML" && el.nodeName !== "DIV") {
}
while (!el.classList.matches(selector)) {
}
This one is done.
while (el.classList.matches(selector) === false) {
}
while (noMatch(el, selector)) {
}
while (!hasMatch(el, selector)) {
}
On this code:
(function iife() {
"use strict";
function show(el) {
el.classList.remove("hide");
}
function hide(el) {
el.classList.add("hide");
}
function togglePlayButton(button) {
var player = button.querySelector("audio");
var play = button.querySelector(".play");
var pause = button.querySelector(".pause");
player.volume = 1.0;
if (player.paused) {
hide(play);
show(pause);
player.play();
button.classList.add("active");
} else {
button.classList.remove("active");
show(play);
hide(pause);
player.pause();
}
}
function getPlayButton(el) {
while (el.classList.contains("playButton") === false) {
el = el.parentNode;
}
return el;
}
function playButtonClickHandler(evt) {
var button = getPlayButton(evt.target);
togglePlayButton(button);
}
var playButton = document.querySelector(".playButton");
playButton.addEventListener("click", playButtonClickHandler);
}());
function togglePlayButton(button) {
var player = button.querySelector("audio");
var play = button.querySelector(".play");
var pause = button.querySelector(".pause");