У меня есть этот код, и я хочу загрузить со страницы load.php текст для каждого div на этой странице только при загрузке запроса со страницы load.php.
Пример ниже загружает страницу load.php дважды :(
$('#div1').load('load.php #div1');
$('#div2').load('load.php #div2');
<div id = "div1"></div>
<div id = "div2"></div>
Страница load.php У меня есть код:
<div id = "div1">test to load1</div>
<div id = "div2">test to load2</div>
Как мне это сделать?
Проблема в том, что загрузка страницы в 2 раза превышает load.php.
Предлагаем вам уделить несколько минут, чтобы помочь нам помочь вам, прочитав Как спросить



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете загрузить php с помощью jQuery.get, а затем вставить каждый фрагмент в нужные элементы:
$.get({
url: 'page.php',
dataType: 'html',
success: function(response) {
var html = $($.parseHTML(response));
$('#div1').text(html.filter('#div1').text());
$('#div2').text(html.filter('#div2').text());
}
});
Редактировать / примечание, если элементы (#div1 и #div2) находятся на верхнем уровне загруженного HTML, используйте: html.filter('#div1'); в противном случае используйте html.find('#div1') для выбора желаемого узла.
Подробнее о jQuery.get.
@FullDISK Действительно ли DIV находятся на верхнем уровне вывода page.php, или они находятся внутри каких-то других элементов? Если они вложены, вам нужно использовать .find() вместо .filter().
@Barmar зависит от вывода. Думаю, я добавлю об этом примечание. Спасибо!
Показанный код должен делать то, что вы просите (при условии, что элементы существуют, когда вы запускаете этот код). Вы не указали в вопросе реальную проблему