Основываясь на этот вопрос относительно переключения в JS, я создал решение для переключения отображения / скрытия двух div и обновления различных текстов span из JS (скрипт здесь: https://jsfiddle.net/k5gbsxca/4/).
Проблема в том, что НИ ОДИН из javascript не запускается, и я не могу определить почему, когда он использует функциональность, которую я развернул ранее.
JavaScript реагирует на три разных события onclick, все из которых зависят от чтения и обновления переменной:
var state = {
lang: "en",
latinview: "inter"
}
Функциональность в jsfiddle (с использованием switch и if):
onclick = "changeDocView()"
в зависимости от state.latinview: кнопка изменения и текст <h4>
показать / скрыть div class = "document-inter" и div class = "document-diplo"
onclick = "showFrench()"
показать class = "fr"
скрыть class = "en"
в зависимости от state.latinview: кнопка изменения и текст <h4>
onclick = "showEnglish()"
показать class = "en"
скрыть class = "fr"
в зависимости от state.latinview: кнопка изменения и текст <h4>
Логика именно такая, какая мне нужна, и в компонентах она работает. Но это первый раз, когда я пытался запустить действия, основанные на тестировании переменной в JS.
Спасибо заранее.
Я все еще изучаю этот материал, включая jsfiddle.
@ DanielA.White, я не думаю, что единственная проблема - ссылка на jquery. если бы это было так, то только часть кода, в которой использовались методы jquery, вызывала бы ошибку, но в этом случае ошибка - «функция не определена».



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


document.getElementById("idOfElement").onclick = function(){//do something}
рабочий код: https://jsfiddle.net/ercanpeker/exwkco2r/
Спасибо! Вопрос: было бы предпочтительнее использовать document.getElementById("idOfElement").onclick = function(){//do something} или jquery $( "#id" ).click(function() вместо атрибута onclick = "" в HTML?
jquery делает его проще и короче, я думаю, вам следует выбрать jquery one.
вы смешиваете и сопоставляете jquery, а у вашей скрипки нет jquery.