Содержимое, возвращаемое XMLHttpRequest, является строкой. Вы можете проанализировать эту строку, используя javascript XMLParser , который вернет вам элемент DOM, к которому вы можете получить доступ с помощью обычного javascript синтаксиса доступа к DOM.
Итак, в вашем XMLHttpRequest используйте следующий код
const parser = new DOMParser().parseFromString(htmlString, 'text/html');
document.getElementById('header').appendChild(parser.querySelector('#headerWrapper'));
Упрощенный пример без XMLHttpRequest из-за перекрестной политики происхождения:
if (document.body.contains(document.getElementById('header'))) {
var htmlString = '<div id="headerWrapper"><ul><li id="foo">1</li><li id="bar">2</li></ul></div>';
const parser = new DOMParser().parseFromString(htmlString, 'text/html');
document.getElementById('header').appendChild(parser.querySelector('#headerWrapper'));
}
document.getElementById('foo').classList.add('test');
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<header id="header"></header>
</body>
</html>