Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите переписать на js эту функцию: $('#tytochki').html($(data).find("#tytochki").html());

Paho Оракул (62520), открыт 2 недели назад
$('#tytochki').html($(data).find("#tytochki").html());
Как на чистый js переписать?
4 ответа
Улик Додиков Искусственный Интеллект (108546) 2 недели назад
 
document.getElementById('tytochki').innerHTML = new DOMParser().parseFromString(data, 'text/html').getElementById('tytochki').innerHTML;
PahoОракул (62520) 2 недели назад
спасибо, а первую строку не подскажите? //$.get(url).done(function(data)
Улик Додиков Искусственный Интеллект (108546) Paho,
 
fetch(url) 
  .then(function(response) { 
    return response.text(); 
  }) 
  .then(function(data) { 
    document.getElementById('tytochki').innerHTML = new DOMParser().parseFromString(data, 'text/html').getElementById('tytochki').innerHTML; 
    if (addEntry === true) { 
      history.pushState(null, title, url); 
    } 
    pageStartUp(); 
    scrollTo(document.querySelector("html"), 0); 
  }); 
 
GGG Просветленный (25553) 2 недели назад
 var tytochkiElement = document.getElementById('tytochki'); 
var parser = new DOMParser();
var doc = parser.parseFromString(data, "text/html");
var newTytochkiElement = doc.getElementById('tytochki');
tytochkiElement.innerHTML = newTytochkiElement.innerHTML;
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ Просветленный (38777) 2 недели назад
Все предлагают разное написание, но по сути делают одно и то же. Я предложу такой вариант:
 let tytochki = document.getElementById('tytochki'); 
let dataTytochki = document.createElement('div');
dataTytochki.innerHTML = data;
tytochki.innerHTML = dataTytochki.querySelector('#tytochki').innerHTML;
Татьяна Просветленный (32633) 2 недели назад
 // Получаем элемент с id 'tytochki' в текущем документе 
const tytochkiElement = document.getElementById('tytochki');

// Создаем временный элемент для парсинга HTML данных
const tempDiv = document.createElement('div');
tempDiv.innerHTML = data;

// Ищем элемент с id 'tytochki' в полученных данных
const newTytochkiElement = tempDiv.querySelector('#tytochki');

if (newTytochkiElement && tytochkiElement) {
// Заменяем содержимое элемента
tytochkiElement.innerHTML = newTytochkiElement.innerHTML;
}
Вот что происходит в этом коде:

Сначала мы получаем элемент с id tytochki в текущем документе.
Создаем временный элемент <div> для парсинга HTML, который содержится в переменной data.
Парсим HTML, вставляя его в временный элемент.
Ищем элемент с id tytochki внутри временного элемента.
Если оба элемента существуют, заменяем содержимое текущего элемента содержимым нового элемента.
Этот подход минимизирует использование памяти и обеспечивает высокую производительность, избегая использования jQuery.
PahoОракул (62520) 2 недели назад
спасибо, а эту строку не подскажите //$.get(url).done(function(data)
Татьяна Просветленный (32633) Paho,
 fetch(url) 
  .then(response => { 
    if (!response.ok) { 
      throw new Error('Network response was not ok'); 
    } 
    return response.text(); // Если данные приходят в виде текста 
  }) 
  .then(data => { 
    // Ваш код для обработки данных, например: 
    const tytochkiElement = document.getElementById('tytochki'); 
    const tempDiv = document.createElement('div'); 
    tempDiv.innerHTML = data; 
    const newTytochkiElement = tempDiv.querySelector('#tytochki'); 
     
    if (newTytochkiElement && tytochkiElement) { 
      tytochkiElement.innerHTML = newTytochkiElement.innerHTML; 
    } 
  }) 
  .catch(error => { 
    console.error('There has been a problem with your fetch operation:', error); 
  }); 
 
Похожие вопросы