Парсинг HTML в массив

Есть HTML в виде:

<b>Element1</b> text1<br>
<b>Element2</b> text2<br>

Как извлечь в массив все Element со значением Text с помощью JQuery?

[{Element1: 'text1'}, {Element2: 'text2'}] 

Ответы (2 шт):

Автор решения: DiD

let result = 
  toParse.innerHTML.trim().split('<br>')
    .map(row=>/^<b>([^<]+)<\/b>\s*(.*)$/.exec(row.trim()))
    .filter(arr=>arr)
    .map(arr=>Object.fromEntries([arr.splice(1,2)]));

console.log(result);
<div id="toParse">
<b>Element1</b> text1<br>
<b>Element2</b> text2<br>
</div>

→ Ссылка
Автор решения: UModeL

Использование jQuery для данной задачи неоправданно, но раз так указано в метках вопроса, то будет так:

let arr = [];
$('b').each(function() {
  arr.push({[this.textContent]: this.nextSibling.textContent.trim()});
});

console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<b>Element1</b> text1<br>
<b>Element2</b> text2<br>

→ Ссылка