Ошибка получения при попытке изменить значение тега заголовка

#javascript #html #dom

#javascript #HTML #dom

Вопрос:

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

 Uncaught TypeError: Cannot set property 'value' of null
 

Что я пробовал:

  1. Проверка, включен ли скрипт после тега заголовка «userName».
  2. Не создается страница с помощью Browserify
  3. изменяя значение, я присваивал тегу заголовка обычную строку, давая тот же результат.

соответствующий код:

UData.js

 const ud = JSON.parse(localStorage.getItem('UD'));
const user = ud.username;
const pfp = ud.pfp;
const dob = ud.dob;
const lers = ud.lers;
const ling = ud.ling;
const fnds = ud.fnds;
const req = ud.req;
const bck = ud.bck;
const cnl = ud.cnl;
document.getElementById(userName).value = user;
//document.getElementById(lingNum).value = ling;
//document.getElementById(lersNum).value = lers;
console.log(ud);
console.log(user);
 

profile.html (последовательный порядок)

 <h4 class ="userName" name="userName" id="userName">xjohnx</h4>
 

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

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

Ответ №1:

Вероятно, вам нужен литерал 'userName' , а не переменная userName .

 document.getElementById('userName').value = user;
 

document.getElementById(userName) возвращает null в вашем примере, что означает, что нет HTML-элемента с таким идентификатором.

Редактировать: value атрибут недопустим для h4 тега. Существует множество функций jQuery , которые позволяют изменять содержимое элемента , например .text() , или .html() . Используйте тот, который лучше соответствует вашим потребностям.

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

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

2. Я использовал innerHTML, и это сработало. Спасибо, что помогли мне.

Ответ №2:

localStorage.setItem(‘test’, 1); оповещение ( localStorage.GetItem(‘test’)); Основными функциями localStorage являются: совместное использование между всеми вкладками и окнами из одного источника. Срок действия данных не истекает. Он остается после перезагрузки браузера