Код не работает должным образом. newH2Text должен заменить para1. Этого не происходит. Я использовал Sublime, затем просмотрел консоль браузера и даже на фрагменте кода SO. Я почти уверен, что у меня есть код дословно.Содержимое заменить скрипт js не удается
Первый абзац, который имеет свой собственный атрибут id, должен быть заменен newH2Text, который создается в моем сценарии JS. Я не могу найти свою ошибку здесь. Пожалуйста помоги.
PS кнопка обновления работает правильно. Нет проблем.
function replaceHeading(){
\t \t var newH2=document.createElement("h2");
\t \t var newH2Text=document.createTextNode("Welcome");
\t \t newH2.appendChild(newH2Text);
\t \t var myDiv=document.getElementById("id1");
\t \t var oldP=document.getElementById("para1");
\t \t myDiv.replaceChild(NewH2,oldP);
\t }
window.onload=function() {
\t document.getElementById("btn").onclick=replaceHeading;
}
<div id="id1">
<p id="para1">Welcome to my web page.</p>
<p id="para2">Take a look around.</p>
<input type="button" id="btn" value="Replace Element">
<br>
<input type="button" value="refresh" onclick="location.reload()">
</div>
Это сделал трюк! Есть ли способ проверить дело? JS чувствителен к регистру, но я просмотрел 3 разных пользовательских интерфейса и не смог его поймать. Какие-либо предложения? По соглашению JS вы всегда начинаете с строчной буквы. Но есть ли еще одна предосторожность, которую я могу принять? – chignon
Вы можете использовать «строгий режим», чтобы избежать этого в будущем. Тогда вы получите сообщение об ошибке в этой ситуации. Проверьте это для документации: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode. Я также сделал сообщение в блоге об этом несколько недель назад: https://peterdaugaardrasmussen.com/2016/01/26/javascript-why-you-should-use-strict-and-what-it-is/. Я обновил свой ответ, чтобы привести пример этого. –