Skip to content

Instantly share code, notes, and snippets.

@ruliana
Created August 1, 2019 03:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ruliana/b54902bd03edb14370777312453608bf to your computer and use it in GitHub Desktop.
Save ruliana/b54902bd03edb14370777312453608bf to your computer and use it in GitHub Desktop.
Let's guess what's the correct preposition (on, at, in). Create as bookmarket with it :)
function printSolution(element) {
let answer = element.getAttribute("data-answer");
let selectedOptions = Array.from(element.selectedOptions).map(e => e.text);
if (selectedOptions.includes(answer)) {
element.style.border = "2px solid green";
} else {
element.style.border = "2px solid red";
}
}
let prepositions = ["", "on", "at", "in"];
let prepOptions = prepositions.map(p => `<option>${p}</option>`);
let prepSelect = `<select data-answer="$1" onchange="printSolution(this)" style="border: 2px solid black">${prepOptions}</select>`;
let paragraphs = document.getElementsByTagName("p");
for (let p of paragraphs) {
p.innerHTML = p.innerHTML
.replace(/\b(on|in|at)\b/g, prepSelect);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment