Нужно в переменной указать ссылку

Рейтинг: 0Ответов: 1Опубликовано: 18.04.2023

я новичек в js мне нужно вставить ссылку в переменную.

let ru = {
      'lng': 'ru',
      'TITLE': 'Работа сайта временно приостановлена!',
      'SITE_CLOSE': 'Работа сайта временно приостановлена!',
      'SITE_CLOSE_OPIS': 'Если вы владелец данного ресурса, то для возобновления работы сайта вам необходимо внести оплату.',
      'SITE_CLOSE_OPIS2': 'В случае, если приостановка работы сайта вызвана нарушением условий договора на обслуживание, то для возобновления его работы вам необходимо обратиться в <a href="#!" class="support__link">Службу поддержки</a>. Мы будем рады вам помочь!',
      'SUPPORT': 'Сайт обслуживается в <a href="//scw.az" class="support__link">scw-group</a>.',
      'BUTTON': 'Оплатить'
};
function changeLang(lan) {
      lengthObj = Object.getOwnPropertyNames(lan).length;
      for (let i = 0; i <= lengthObj - 1; i++) {
        objKey = Object.getOwnPropertyNames(lan)[i];
        document.getElementById(objKey).innerText = func(objKey);
      }

      function func(a) {
        for (key in lan) {
          if (key == a) {
            return (lan[key]);
          }
        }
      }
    }

Ответы

▲ 1Принят

Вот ваш пример. Дело в том, что когда вы пишите document.getElementById(objKey).innerText это означает что вы вставляете текст. Но вы же хотите вставить не просто текст, а html код, где есть тег

let ru = {
  'lng': 'ru',
  'TITLE': 'Работа сайта временно приостановлена!',
  'SITE_CLOSE': 'Работа сайта временно приостановлена!',
  'SITE_CLOSE_OPIS': 'Если вы владелец данного ресурса, то для возобновления работы сайта вам необходимо внести оплату.',
  'SITE_CLOSE_OPIS2': 'В случае, если приостановка работы сайта вызвана нарушением условий договора на обслуживание, то для возобновления его работы вам необходимо обратиться в <a href="#!" class="support__link">Службу поддержки</a>. Мы будем рады вам помочь!',
  'SUPPORT': 'Сайт обслуживается в <a href="//scw.az" class="support__link">scw-group</a>.',
  'BUTTON': 'Оплатить'
};

function changeLang(lan) {
  lengthObj = Object.getOwnPropertyNames(lan).length;
  for (let i = 0; i <= lengthObj - 1; i++) {
    objKey = Object.getOwnPropertyNames(lan)[i];
    document.getElementById(objKey).innerText = func(objKey);
  }

  function func(a) {
    for (key in lan) {
      if (key == a) {
        return (lan[key]);
      }
    }
  }
}

changeLang(ru)
<div id="lng"></div>
<h1 id="TITLE"></h1>
<div id="SITE_CLOSE"></div>
<p id="SITE_CLOSE_OPIS"></p>
<p id="SITE_CLOSE_OPIS2"></p>
<p id="SUPPORT"></p>
<button id="BUTTON"></button>

Для этого есть свойство innerHTML, попробуйте вот так

let ru = {
  'lng': 'ru',
  'TITLE': 'Работа сайта временно приостановлена!',
  'SITE_CLOSE': 'Работа сайта временно приостановлена!',
  'SITE_CLOSE_OPIS': 'Если вы владелец данного ресурса, то для возобновления работы сайта вам необходимо внести оплату.',
  'SITE_CLOSE_OPIS2': 'В случае, если приостановка работы сайта вызвана нарушением условий договора на обслуживание, то для возобновления его работы вам необходимо обратиться в <a href="#!" class="support__link">Службу поддержки</a>. Мы будем рады вам помочь!',
  'SUPPORT': 'Сайт обслуживается в <a href="//scw.az" class="support__link">scw-group</a>.',
  'BUTTON': 'Оплатить'
};

function changeLang(lan) {
  lengthObj = Object.getOwnPropertyNames(lan).length;
  for (let i = 0; i <= lengthObj - 1; i++) {
    objKey = Object.getOwnPropertyNames(lan)[i];
    document.getElementById(objKey).innerHTML = func(objKey);
  }

  function func(a) {
    for (key in lan) {
      if (key == a) {
        return (lan[key]);
      }
    }
  }
}

changeLang(ru);
<div id="lng"></div>
<h1 id="TITLE"></h1>
<div id="SITE_CLOSE"></div>
<p id="SITE_CLOSE_OPIS"></p>
<p id="SITE_CLOSE_OPIS2"></p>
<p id="SUPPORT"></p>
<button id="BUTTON"></button>