HTML-файл не распознает функции, определенные во внешнем связанном js-файле?

#javascript #html #external-js

#javascript #HTML #external-js

Вопрос:

Я только начинаю изучать программирование в первый раз, и у меня возник вопрос, с которым я надеялся, что кто-нибудь сможет помочь, надеюсь, ничего слишком очевидного я не упускаю.

(Пересмотренное объяснение, включая примеры кода)

Я использую кнопку для изменения внутреннего html элемента, но я пытаюсь сделать то же самое тремя способами. Для первого способа я могу это сделать. Для вторых двух у меня возникли проблемы, и я искал рекомендации:

Первый способ, который я делаю, — это изменение innerhtml элемента paragraph путем нажатия кнопки, оператор которой определен непосредственно за атрибутом события onclick для кнопки. Это работает, код, который я использую, можно увидеть ниже:

 <p id="change1">Does the button below change my text when I click it, based on entering a js function directly behind an onclick event entered as a button attribute?</p>
<button type="button" onclick="document.getElementById('change1').innerHTML = 'Yes_1'">See If It Works_1</button>  

Второй способ, которым я пытаюсь это сделать, — это использовать кнопку, которая вызывает функцию, которую я определил в теге script в моем HTML-файле. Функция, которую я определил, должна выполнять задачу изменения innerhtml элемента paragraph, который я определил. Это не работает, пример кода можно увидеть ниже:

 <p id="change2">Does the button below change my text when I click it, based on calling A Function Defined in script tag within My HTML File on with an onclick event?</p>
<button type="button" onclick="internalfunction()">See If It Works_2</button>
<script>
  function internalfunction() {
    document.getElementById("change2").innterHTML = "Yes_2";
  }
</script>  

Третий способ, которым я пытаюсь это сделать, такой же, как и второй способ, только вместо вызова функции, определенной в теге script в моем HTML-файле, я вызываю ту, которую я определил во внешнем js-файле. Однако этот файл находится в том же каталоге, что и мой HTML-файл на моем компьютере. Это было также не работает прямо сейчас. Пример моего кода и способ, которым я связался с файлом js, можно увидеть ниже:

Вот код в моем HTML-файле:

  <p id="change3">Does This Button That Calls A Function Defined in My External JS File Work?</p>
            <button onclick="externalfunction">See If It Works_3</button>
  

вот функция, которую я хочу вызвать в моем внешнем js-файле:

  function externalfunction(){document.getElementById("change3").innerHTML="Yes_3"};
  

вот способ, которым я связался с моим js-файлом, введя это в заголовок html-файла:

   <script src="javascript.js"></script>
  

Комментарии:

1. Пожалуйста, опубликуйте свой код, чтобы мы могли помочь в отладке.

2. добавьте defer атрибут в свой тег script <script defer src="javascript.js"></script>

3. Да, разместите свой код здесь , в вопросе, и разместите код , а не изображение кода.

4. Я обновил свое описание и включил код. Это мой первый пост / опыт работы с переполнением стека, поэтому приношу извинения за то, что не включил правильную информацию — надеюсь быстро научиться. Спасибо!

5. Ваши проблемы вызваны опечатками (поэтому я проголосовал за закрытие вопроса как не по теме). Пример 2 ошибки в написании innerHTML . В примере 3 забываются те () , которые необходимы для вызова функции.

Ответ №1:

Согласно некоторой справке по комментариям и еще нескольким обзорам, была подтверждена проблема с опечаткой, когда () были опущены для вызова функции, а innerHTML был написан с ошибкой.