Как вывести правильно document.getElementById?

Ссылка скопирована
1 ответ

Подскажите пожалуйста как правильно вывести вывести в id данные
Есть элемент <p id="lang_">- если у нас i18n ru то подставляем значение ru если en то en.
Проблема получается в том что ru выводит Текст, если en то текст пустой.
Не могу понять в чем проблема, подскажите проходимцу)) Спасибо)

document.getElementById("lang_").id = "lang_"  + data;   document.getElementById('lang_ru').innerHTML = 'Текст',   document.getElementById('lang_en').innerHTML = 'Текст';

document.getElementById("lang_").id = "lang_" + data; document.getElementById('lang_ru').innerHTML = 'Текст', document.getElementById('lang_en').innerHTML = 'Текст';

Дополнительно:

Вангую в консоли Cannot read properties of undefined, reading 'InnerHTML'

  • А зачем ты его второй раз ищешь? результат первого поиска кинь в переменную и из нее же бери элемент в котором текст меняться будет
  • imko, спасибо)
  • hostexpert, ошибка в том что когда ты сделал айди en, элемента с ru на странице нет, селектор отдает undefined у которого ты пытаешься переписать свойство innerText которым он очевидно не обладает)
  • не совсем понял задачу, что то типа такого ?

    &lt;p id="lang_ru"&gt;&lt;/p&gt; &lt;p id="lang_en"&gt;&lt;/p&gt;

    &lt;p id="lang_ru"&gt;&lt;/p&gt; &lt;p id="lang_en"&gt;&lt;/p&gt;

    var data = "en"; // здесь укажите значение, которое должно быть в `data`, например, "ru" или "en"  var element = document.getElementById("lang_" + data);  if (data === "ru") {     element.innerHTML = "Текст"; } else if (data === "en") {     element.innerHTML = "Text"; }

    var data = "en"; // здесь укажите значение, которое должно быть в `data`, например, "ru" или "en" var element = document.getElementById("lang_" + data); if (data === "ru") { element.innerHTML = "Текст"; } else if (data === "en") { element.innerHTML = "Text"; }

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Максим Павлов Ответ

    Для того чтобы корректно вывести элемент с помощью метода document.getElementById в JavaScript, необходимо учитывать несколько важных моментов. Во-первых, убедитесь, что у элемента есть уникальный идентификатор (id) в HTML. Этот id должен быть уникальным на всей странице, иначе метод document.getElementById вернет только первый элемент с таким id.

    Пример HTML-кода с элементом, который имеет id "myElement":

    <div id="myElement">Пример текста</div>

    <div id="myElement">Пример текста</div>

    Теперь, чтобы получить доступ к этому элементу и вывести его содержимое, используйте метод document.getElementById, передав в него id элемента:

    var element = document.getElementById("myElement");
    if (element) {
        console.log(element.innerText); // Выводим текст элемента в консоль
    } else {
        console.log("Элемент не найден"); // Выводим сообщение об ошибке, если элемент не найден
    }

    var element = document.getElementById("myElement"); if (element) { console.log(element.innerText); // Выводим текст элемента в консоль } else { console.log("Элемент не найден"); // Выводим сообщение об ошибке, если элемент не найден }

    В этом примере, мы сначала получаем элемент с id "myElement" с помощью document.getElementById. Затем проверяем, что элемент был найден (element не равен null) и выводим текст элемента в консоль с помощью свойства innerText. Если элемент не был найден, выводим сообщение об ошибке.

    Убедитесь, что ваш скрипт выполняется после загрузки DOM, чтобы метод document.getElementById смог найти элемент на странице. Можно использовать событие DOMContentLoaded или поместить скрипт в конец тела HTML документа.

    Этот подход позволит вам корректно вывести элемент на странице с помощью метода document.getElementById в JavaScript.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно