Более эффективный код JavaScript для функции выделения?

Так что это функциональность, которую я должен очистить:

Мне нужно создать функцию, где зрители могут нажимать на любое слово в предложении, и оно будет выделено. Однако мне нужно сделать так, чтобы за раз выделялось только одно слово. Так, например, если вы нажмете слово «вы», а затем передумаете и нажмете слово «орел», то слово «вы» будет отменено.

Для него уже существует код, но мы работаем в очень сжатые сроки, и если мы будем вносить изменения и корректировки с использованием этого чрезвычайно длинного, чрезвычайно сложного для навигации кода, то мы потратим столько драгоценных недель, чтобы создать одну 5 минутная интерактивность.

Вот как это выглядит:

И это фрагмент JS (так что вы можете увидеть проблему):

(коды HTML и JS предоставляются по запросу)

Таким образом, вместо этого длинного ада, который нам, возможно, понадобится пройти, я подумал о чем-то вроде прохождения каждого предложения через массив, чтобы каждому отдельному слову уже было присвоено имя. Тогда мы сможем вызывать каждый массив через цикл for, чтобы распечатать его на странице, и использовать arrayName [i] для вызова отдельных слов для выделения. И затем, может быть, оператор if-else, поэтому будет выделено только выбранное слово.

Я пытался протолкнуть фактические элементы HTML через массивы, например, только получить<p> для каждого<div id="sentence1"> или что-то, но это не представляется возможным ... Если это так, пожалуйста, скажите мне, как это делается, или, если это не так, я все равно буду ценить любую другую альтернативу для этого.

Я не могу на всю жизнь разобраться со всем жестким кодированием самостоятельно, так как сейчас я знаю только много о JavaScript, но очень, очень хочу учиться! Любая помощь с этим будет высоко ценится, так как мы работаем в очень сжатые сроки.

Огромное спасибо заранее! Пожалуйста, любая помощь, или любые предложения будут делать!

РЕДАКТИРОВАТЬ

Это код для нашегоcheckAns() функция. Увеличиваетсяvar correct когда правильный ответ подсвечивается каждый разcheckAns() пробеги. Это также ответственно за маркировку определенных номеров, неправильных или правильных.

function checkAns(){
    document.getElementById('alertMsg').style.visibility = "hidden";


    if(Ans1B == "selected"){
        correct++
        document.getElementById('marksymbol1').className = "smile";
    }
    else
    {
        document.getElementById('marksymbol1').className = "sad";
    }
    if(Ans2A == "selected"){
        correct++
        document.getElementById('marksymbol2').className = "smile";
    }
    else
    {
        document.getElementById('marksymbol2').className = "sad";
    }
    if(Ans3A == "selected"){
        correct++
        document.getElementById('marksymbol3').className = "smile";
    }
    else
    {
        document.getElementById('marksymbol3').className = "sad";
    }
    if(Ans4A == "selected"){
        correct++
        document.getElementById('marksymbol4').className = "smile";
    }
    else
    {
        document.getElementById('marksymbol4').className = "sad";
    }
    if(Ans5A == "selected"){
        correct++
        document.getElementById('marksymbol5').className = "smile";
    }
    else
    {
        document.getElementById('marksymbol5').className = "sad";
    }

Ответы на вопрос(4)

Ваш ответ на вопрос